如果这已得到回答,我深表歉意,但我已经搜索了几个小时,但仍然不太明白。这是一个具体的问题,而不是“哪个是最好的”问题。
具体问题以斜体表示。
我创建了一个 RESTful API,起初它是完全开放的。然而,该组织现在决定创建一个第一方移动应用程序来消费和(在某种程度上)更新数据。
我正在调查身份验证框架 (oAuth2),但不确定 oAuth2 是否是实现我们目标的正确方法。并且,如果是,哪些授权授予适用于哪组用户。
我们的目标是:
- 允许用户完全通过 oAuth 2 提供商(twitter、facebook、google)在第一方应用程序中登录和创建帐户。这些用户可以通过第一方应用访问最大的数据集。
- 为用户分配不同的角色(管理员、版主等)。
- 允许其他应用程序注册、接收令牌凭据,并具有有限的写入访问权限或对数据的扩展访问权限。这将打开它们以创建第三方应用程序或研究系统。
- 最后,我们希望保持一些数据完全开放,不需要身份验证。
那么,我是否正确假设我们要设置一个 oAuth2 *Server*(授权和资源服务器)?
如果是这样,哪些授权授予适用于上述情况?
最后一个问题:对于使用第一方应用程序的用户,该应用程序是否负责登录并保留他们的访问凭据?API 服务器不提供 html,并且是 100% RESTful。它是否需要提供登录表单?