oauth2策略与红宝石上的许多客户端,有一个API的轨道上
我一直在研究oauth2一段时间了,还没有拿出完美的解决方案,并希望看看是否有其他人已经做到了这一点。目前我在一个代码库中有两个应用程序。这些应用程序共享的唯一内容是身份验证我期望做的是为oauth2服务器创建第三个应用程序。然后我想将现有的应用程序分成两个应用程序。试图追踪Google如何处理他们的oauth资料。所以这些域名就是这样的。oauth2策略与红宝石上的许多客户端,有一个API的轨道上
- http://accounts.domain.com
- http://app1.domain.com
我发现了一些好的信息,关于守门人,并制定这两个职位。目前我正在使用设计,以便使这部分更容易。
- https://dev.mikamai.com/2015/02/11/oauth2-on-rails/
- https://dev.mikamai.com/2015/03/02/oauth2-on-rails-the-client-application/
所以每个应用程序APP1和APP2将有API的是,使用将需要对被认证。
所以我有以下问题。
如果APP1需要与帐户子域,以验证这是否从一个API角度来看,我需要调用每个请求的oauth2服务器应用程序是什么意思?这似乎是一个很大的开销。 Google是这么做的,或者他们有一些窍门?
app1和app2每个都会对自己的会话超时负责吗?如果app1会话有效,但用户通过转至auth2服务器应用程序直接删除其帐户,会发生什么情况?
如果app1和app2负责会话,那么他们是否也想回拨到账户oauth2服务器来验证用户是否仍然存在?
我试图刷新所有的这一点,并没有发现如何当OAuth用户端实际上是API的加上他们的网络应用程序太多这样的工作一个很好的例子。也许我也在想它,并且每个API请求的额外呼叫都是这样。
任何帮助或教程,将不胜感激。
回答:
The OAuth 2.0 Authorization Framework提供了五种批技术:
- 授权代码授予
- 隐性补助
- 资源所有者凭证授予
- 客户端证书授予
- 刷新代金券授予
我是我们正在讨论关于Client credentials grant
(我认为谷歌普遍使用它)。
让我们试着去了解这个流程图:
所以,here在步骤[E]
:
步骤(C)和(d)重复,直到访问令牌到期。如果 客户端知道访问令牌已过期,则跳至步骤(G); 否则,它会发出另一个受保护的资源请求。
这意味着它实际上不会在每个请求上打Authorization Server
。当client
发现令牌已过期时,它仅碰到授权服务器。所以,如果我们自己删除,它会使令牌过期!
也许这些文档可以帮助你更多:
- https://tools.ietf.org/html/rfc6749
- https://alexbilbie.com/guide-to-oauth-2-grants/
干杯!
以上是 oauth2策略与红宝石上的许多客户端,有一个API的轨道上 的全部内容, 来源链接: utcz.com/qa/259080.html