【发布时间】:2015-05-15 17:56:17
【问题描述】:
我正在 Rails 中编写一个 Open ID Connect Provider,基本上是在重构这个示例 Here。
我的问题是 - ID 令牌是否需要持久保存在服务器上?如果我只是签署 ID Token 并将其发送给 RP,我不能在 RP 要求时生成 ID Token(例如请求中带有 idtoken 响应类型)而不用担心将其保存在我这边的数据库?基本上使用普通的旧 ruby 对象作为 IDToken 而不是 ActiveModel 对象。
在我看来,一旦 RP 收到 ID 令牌,他们就会使用它来获取有关资源所有者的信息,并且不会像访问令牌那样将其发送回提供者。还是我在这里遗漏了什么,我应该将 ID 令牌保存在提供者的数据库中?
我知道 Nat Sakimura 解释说 here 在 OAuth / OIDC 的 code 流程中,您应该在将授权码传回 RP 时保存 ID 令牌,但我觉得我可以在他们生成令牌时生成令牌将代码发回并请求访问令牌(连同 id 令牌)。
【问题讨论】:
标签: ruby-on-rails oauth-2.0 openid-connect