2017-12-03 341 views
0

我一直在研究oauth2一段时间了,还没有拿出完美的解决方案,并希望看看是否有其他人已经做到了这一点。目前我在一个代码库中有两个应用程序。这些应用程序共享的唯一内容是身份验证我期望做的是为oauth2服务器创建第三个应用程序。然后我想将现有的应用程序分成两个应用程序。试图追踪Google如何处理他们的oauth资料。所以这些域名就是这样的。oauth2策略与红宝石上的许多客户端,有一个API的轨道上

我发现了一些好的信息,关于守门人,并制定这两个职位。目前我正在使用设计,以便使这部分更容易。

所以每个应用程序APP1和APP2将有API的是,使用将需要对被认证。

所以我有以下问题。

  1. 如果APP1需要与帐户子域,以验证这是否从一个API角度来看,我需要调用每个请求的oauth2服务器应用程序是什么意思?这似乎是一个很大的开销。 Google是这么做的,或者他们有一些窍门?

  2. app1和app2每个都会对自己的会话超时负责吗?如果app1会话有效,但用户通过转至auth2服务器应用程序直接删除其帐户,会发生什么情况?

  3. 如果app1和app2负责会话,那么他们是否也想回拨到账户oauth2服务器来验证用户是否仍然存在?

我试图刷新所有的这一点,并没有发现如何当OAuth用户端实际上是API的加上他们的网络应用程序太多这样的工作一个很好的例子。也许我也在想它,并且每个API请求的额外呼叫都是这样。

任何帮助或教程,将不胜感激。

回答

0

The OAuth 2.0 Authorization Framework提供了五种批技术:

  • 授权代码授予
  • 隐性补助
  • 资源所有者凭证授予
  • 客户端证书授予
  • 刷新代金券授予

我是我们正在讨论关于Client credentials grant(我认为谷歌普遍使用它)。

让我们试着去了解这个流程图: enter image description here

所以,here在步骤[E]

步骤(C)和(d)重复,直到访问令牌到期。如果 客户端知道访问令牌已过期,则跳至步骤(G); 否则,它会发出另一个受保护的资源请求。

这意味着它实际上不会在每个请求上打Authorization Server。当client发现令牌已过期时,它仅碰到授权服务器。所以,如果我们自己删除,它会使令牌过期!

也许这些文档可以帮助你更多:

  1. https://tools.ietf.org/html/rfc6749
  2. https://alexbilbie.com/guide-to-oauth-2-grants/

干杯!