使用oAuth2和第一方应用程序进行API身份验证

时间:2017-03-24 14:27:31

标签: rest authentication oauth-2.0 lumen api-authorization

如果有人回答,我道歉,但我一直在寻找几个小时,但仍然不太明白。这个一个特定的问题,而不是"哪个是最好的"问题

具体问题在斜体

我创建了一个RESTful API,最初意味着完全开放。但是,该组织现在决定创建一个第一方移动应用程序来消费和(在某种程度上)更新数据。

我正在调查身份验证框架(oAuth2),并且不确定oAuth2是否是实现目标的正确方法。并且,如果是,授权授权适用于哪组用户。

我们的目标是:

  • 允许用户在第一方应用中登录和创建帐户,完全通过oAuth 2提供商(twitter,facebook,google)。这些用户可以通过第一方应用访问最大的数据集。
  • 为用户(管理员,审核人等)分配不同的角色。
  • 允许其他应用程序注册,接收令牌凭据,并具有有限的写访问权限或对数据的扩展访问权限。这将打开他们创建第三方应用程序或研究系统。
  • 最后,我们希望保持一些数据完全打开,无需身份验证。

那么,我是否正确地假设我们要设置oAuth2 * Server *(授权和资源服务器)?

如果是,哪些授权授权适用于上述情况?

最后一个问题:对于使用第一方应用的用户,应用是否负责将其登录并保留其访问凭据? API服务器提供NO HTML,并且是100%RESTful。是否需要提供登录表单?

1 个答案:

答案 0 :(得分:1)

如果您需要根据各种OAuth2社交登录对您的API进行验证授权用户,您需要某种API服务器或服务,您可以在其中定义您的用户和组/角色以及根据您的规则可供用户使用的范围。

一些云托管的选项是:

如果您与上述服务集成,您可以让服务负责对用户进行身份验证,并确保每个用户调用先检查服务,然后再进行许可,然后再执行任何操作。