【发布时间】:2020-06-06 22:07:42
【问题描述】:
我有一个 MVC 应用程序,它使用身份服务器和基于 cookie 的身份验证。
我们创建了一个新的 spa 应用程序,该应用程序通过承载令牌使用身份服务器身份验证。
一切正常,但用户目前需要登录两次,每个应用程序一次。
是否有共享身份验证会话的解决方案?如果可能的话,我宁愿不必从 spa 解密 cookie。
编辑:
我看到的是 SPA 上的身份验证代码流在会话存储中填充了许多值,而 MVC(客户端凭据流)应用程序没有获取这些值。
我应该手动反映这些更改吗?我看到两者都使用安全信息填充 cookie,但 SPA 只是忽略它。
【问题讨论】:
-
如果您使用的是隐式或授权码等流,那么您应该开箱即用 SSO。你能解释一下哪些因素可能会阻止它发挥作用吗?
-
我已经看到,在授权代码之后,我得到了一个 sso cookie,但它被使用客户端凭据的应用程序忽略(这意味着我被要求第二次登录)。同样的情况发生在另一个方向(首先是客户端凭据,然后是授权码)
-
使用客户端凭据时,您不会获得(也不需要)SSO。只有在使用基于浏览器的用户上下文流时才能获得它。
-
两个应用程序都使用基于浏览器的用户上下文流。客户端凭据是 .net mvc 应用程序,身份验证代码是 .net 核心 SPA 应用程序
标签: single-page-application identityserver4 bearer-token