Azure 的 SAML 身份验证成功,但带有声明的 AuthenticationManager.SignIn 未进行身份验证

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

我们正在使用 Azure AD 进行 SAML 身份验证。

ExternalLoginCallback 方法使用 AuthenticationManager.GetExternalLoginInfo() 获取外部经过身份验证的用户

当我们检查该对象的 IsAuthenticated 属性时,它显示 true。这意味着用户已通过 Azure AD 进行身份验证。

但是,当我们创建声明并尝试使用 AuthenticationManager.SignOut() 登录我们的用户(从代码)时,用户并未在我们的系统中经过身份验证。我从 AuthenticationManager.User.Identity.IsAuthenticated 验证了这一点。

有人知道为什么我们会面临这个问题吗?

asp.net-mvc azure owin saml
1个回答
0
投票

回答我自己的问题。

事实证明,使用声明的 AuthenticationManager.SignIn 允许当前用户通过身份验证。然而,在response.redirect到任何其他页面时,用户未经过身份验证。

发生这种情况是因为我们使用 SameSite = SameSiteMode.Strict 的 cookie。评论这一点确实允许用户即使在下一个请求时也能保持登录状态。

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