OpenID 与多个客户端共享 Id 令牌

问题描述 投票:0回答:2

我有一些使用 openid 连接授权代码流程的网络应用程序客户端,每个应用程序都有不同的客户端密钥和密钥。我想与我的所有 Web 应用程序共享 ID 令牌,换句话说,创建一个会话,以便使用浏览器的用户可以使用任何 Web 应用程序,而无需再次进行身份验证。

我计划将构成会话一部分的所有 Web 应用程序的客户端 ID 添加到 aud(观众)中。

这有什么问题吗?

每个 Web 应用程序都可以使用 id 令牌请求访问令牌吗?

oauth-2.0 openid-connect identityserver3
2个回答
5
投票

这就是拥有 OIDC 提供商的 SSO 位的全部意义。如果您已经通过一个客户端的 idsrv 进行身份验证,则当您使用与 ID 提供程序相同的 IdentityServer 导航到另一客户端时,无需重新进行身份验证。

可能还有另一个重定向,但应该直接返回客户端。

鉴于:

  • idsrv 上的 cookie 尚未过期
  • 客户端正在使用发生重定向的流程

0
投票

您不会在 Web 应用程序之间共享客户端 ID,因此也不会共享 ID 令牌。您不能将多个受众放入 aud 值中。

相反,您每次都会执行完整的身份验证工作流程,但是,正如 John Korsnes 所描述的,如果身份验证表单设置的 cookie 仍然有效,身份验证表单将不会打开,但会立即重定向并提供代码值获取网络应用程序特定的令牌。

© www.soinside.com 2019 - 2024. All rights reserved.