用于我的应用程序的最佳oauth授权类型

时间:2014-11-14 17:14:00

标签: php laravel oauth-2.0 user-permissions multi-tenant

我是我公司的php开发人员,而且我很喜欢Oauth这个概念形式。 我一直在网上搜索几乎所有关于oAuth的文章,但仍然不会告诉我如何处理这种情况。

我住在荷兰,如果我的写作有时有点偏离,请原谅我。

我正在为我们公司申请一份申请。它是一个在线工作平台,人们可以在那里注册寻找工作。

我们将在线申请出售给提供工作等的公司。

因此,我们为每个购买我们的Web应用程序的公司提供了一个URL:http://companyname.onlinejobs.com(例如)。 因此,我们有可以登录其应用程序的后端用户,每个用户都有不同的角色和权限。

我们还有http://onlinejobs.com个网站,每个人都可以注册以查看工作机会等等。 所以我们还有一个前端用户,也可以有多个角色,例如免费用户和高级用户。

我们构建了一个REST API,其中包含添加和查看作业和配置文件等所有方法。我们希望此API只能访问我们注册的客户端。 因此,如果我注册company1.onlinejobs.com而不是我认为是客户端,并且只能使用我们的api。

但现在我们希望将oAuth与情况进行整合。 我们希望保护API不受任何未注册的客户端的影响,但我们也希望确保前端免费用户无法访问高级前端用户可以进行的某些api调用。

或者那种基于权限的行为不是针对oAuth的吗? oAuth2使用的授予类型能用于我们的情况吗? 我真的需要帮助这些家伙。希望有人能给我一个明确的解释,说明最好用什么,或者甚至根本不用。

1 个答案:

答案 0 :(得分:0)

我们有类似的用例,我们构建了自己的授权服务器,可以处理以下用例

  • 的身份验证和授权
  • 网络应用程序
  • 启用javascript的应用[与SPA应用相似]
  • Windows服务或Windows应用等原生应用

我们在OAuth2.0中使用了以下流程

  1. 授权码
  2. 隐含流量
  3. 资源所有者凭据
  4. 因此,需要根据您计划支持的应用程序类型来确定流程的正确选择。

    HTH