【发布时间】:2015-09-02 01:52:22
【问题描述】:
我想知道我是否真的需要 OpenID Connect 在 OAuth2 之上提供身份验证。在我看来,如果我生成 JWT (JWE) 作为我的访问令牌并将用户声明、角色/权限等存储在访问令牌中,则不需要 OpenID Connect 的 id 令牌。资源服务器可以验证每个请求的访问令牌。或者,我可以保持访问令牌很小,只让它存储一个会话 ID 并使用声明/角色/权限填充该会话。我也可以在会话中放置一个过期值并支持滑动过期等,甚至不处理刷新令牌。我是否错过了 OpenID Connect 的真正意义?
更新
我刚刚意识到我需要稍微澄清一下我的问题。如果我建立了一个允许用户通过 Google 登录的网站,我就会看到 OpenID Connect 是多么必要。我允许某人基于某些 OAuth 授权流程访问我的网站,但该流程不能证明已发生身份验证。但是,如果我正在构建一堆服务,并且只想发布令牌来访问这些服务资源,那么 OAuth 还不够吗?如果我希望这些令牌包含角色/声明以便我可以在我的服务中做出授权决策,那么包含角色/声明的 JWT 还不够吗?如果感觉在这种情况下不需要 OpenID Connect。
【问题讨论】:
标签: session authentication oauth authorization openid-connect