【发布时间】:2018-05-16 18:59:19
【问题描述】:
我研究 oauth2 已经有一段时间了,还没有想出完美的解决方案,想看看有没有其他人以前做过。目前我在一个代码库中有两个应用程序。这些应用程序共享的唯一内容是身份验证。我要做的是为 oauth2 服务器创建第三个应用程序。然后我想将现有的应用程序分成两个应用程序。试图了解 Google 如何处理他们的 oauth 内容。所以域会是这样的。
我在这两个帖子中发现了一些关于门卫和设计的好信息。目前我正在使用设计,以便使这部分更容易。
- 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 服务器应用程序?这似乎是很多开销。这是谷歌的做法还是他们有什么技巧?
app1 和 app2 是否各自负责自己的会话超时?如果 app1 会话有效,但用户通过转到 auth2 服务器应用程序直接删除了他们的帐户,会发生什么情况?
如果 app1 和 app2 负责会话,那么他们是否还想回调帐户 oauth2 服务器以验证用户是否仍然存在?
我正在尝试清除所有这些内容,但还没有找到一个很好的例子来说明当 oauth 客户端实际上是 API 并且它们也是 Web 应用程序时这将如何工作。也许我也想多了,对每个 API 请求进行额外调用是一种方式。
任何有关这方面的帮助或教程将不胜感激。
【问题讨论】:
标签: ruby-on-rails authentication devise oauth-2.0 doorkeeper