【发布时间】:2015-01-12 03:53:35
【问题描述】:
我是我公司的一名 php 开发人员,我对 Oauth 的这个概念很感兴趣。 我一直在网上搜索并阅读了几乎所有我能找到的关于 oAuth 的文章,但我仍然不知道如何处理这种情况。
我住在荷兰,如果我的写作有时有点不妥,请见谅。
我正在为我们公司处理申请。它是一个在线工作平台,人们可以在此注册以找到工作。
我们将我们的在线应用程序出售给提供工作机会等的公司。
因此,我们为每家购买我们的 Web 应用程序的公司提供一个 URL,例如:http://companyname.onlinejobs.com(例如)。 所以我们有可以登录他们的应用程序的后端用户,他们每个人都有不同的角色和权限。
我们还有http://onlinejobs.com 作为一个网站,每个人都可以注册以查看工作机会等等。 所以我们还有一个前端用户,它也可以有多个角色,比如免费用户和高级用户。
我们已经构建了一个 REST API,它包含添加和查看作业和配置文件等的所有方法。我们希望这个 API 只能被我们注册的客户端访问。 所以如果我注册 company1.onlinejobs.com 比我认为是客户端,只能使用我们的 api。
但现在我们想将 oAuth 集成到这种情况中。 我们希望保护 API 免受任何未注册客户端的影响,但我们还希望确保前端免费用户无法访问高级前端用户可以进行的 surtain api 调用。
或者这种基于权限的行为不适合 oAuth? 我们可以针对我们的情况使用 oAuth2 使用的哪种授权类型? 我真的需要这些家伙的帮助..希望有人能给我一个清楚的解释,告诉我什么是最好的,甚至根本不用。
【问题讨论】:
-
授权授予为客户端提供访问令牌(可能还有刷新令牌)。虽然根据具体情况肯定有充分的理由选择一种授权而不是另一种授权,但这些与用户权限无关。您是否将授权客户端与授权用户(即资源所有者)混淆了?考虑(重新)阅读tools.ietf.org/html/rfc6749的规范。
标签: php laravel oauth-2.0 user-permissions multi-tenant