微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SSO 不适用于 IdentityModel.OidcClient

如何解决SSO 不适用于 IdentityModel.OidcClient

我正在向 WinForms 应用程序添加 OIDC 登录。我使用 IdentityModel.Oidcclient 库设置了应用程序,并从他们的 WinForm 示例中提取了样板代码。 OIDC 成功显示登录表单,执行 MFA,然后我取回令牌。

但是,如果我关闭应用程序并再次打开它,我必须再次进行身份验证。通常,浏览器中的 SSO 会话允许我绕过这一步。似乎 Oidcclient 正在使用一个浏览器会话,该会话在应用程序关闭时被破坏并且不在应用程序之间共享。

如何配置我的应用程序以使用 Systembrowser 或其他浏览器,这些浏览器将在执行之间和/或为使用此组件的不同应用程序维护这些 SSO cookie。

提前致谢。

解决方法

首先要检查的是,您设置的会话 cookie 是否具有未来的过期日期,否则它将只是一个将持续此浏览器会话的 cookie。

在您的浏览器中,您可以在开发者工具部分看到这一点,如下例所示:

enter image description here

或者,您可以使用 Fiddler 之类的工具检查设置会话 cookie 的响应,并确保它包含未来的到期日期。

您可以在 ASP.NET 应用程序中进行配置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。