【发布时间】:2014-05-04 02:08:40
【问题描述】:
因此,我正在创建多个 REST API,并且我希望为所有这些服务使用一个身份验证服务器 (API),以避免在每个新应用上创建多个登录。
什么技术最适合这个? oauth 服务器?
我还希望它能够基于 API 分离用户并在需要时共享。但是总是让那个单一的身份验证服务器做它的事情,所以我不必每次都创建单独的登录系统。
对于使用 API 密钥获取数据的机器,我还需要“非用户输入”访问权限。但我猜用户只需要一个界面来生成第一个消费者密钥,然后在他们的应用程序中使用它。基本上是没有过期的token?
我设想的流程是这样的:
- API 使用者调用 API 代理,该代理调用 Auth API 来授权用户并返回访问令牌,并且访问令牌存储在其中一个资源 API 服务器上
- API 使用者调用现在调用资源服务器的 API 代理,检查有效的访问令牌并返回数据,但这次它不调用 Auth API,因此我不必在内部为每个请求进行两次调用。
这是一个好方法吗?
除此之外,我需要我的实际网站在没有用户登录/交互的情况下使用 API,除了浏览以某种方式访问 API,oauth 仍然可以这样做吗?如何在 API 上验证我自己的公共应用程序/网站?我应该预先创建没有到期日期的 oauth 访问令牌吗?
我不打算让用户使用 facebook、google 帐户等登录。我只希望我的公司用户在多个服务上的全局登录和 API 消费者的登录存储在一个地方。
Oauth、SSO/CAS?
【问题讨论】: