0

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

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

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

提前致谢。

4

1 回答 1

0

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

在您的浏览器中,您可以在开发者工具部分看到它,就像在这个例子中一样:

在此处输入图像描述

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

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

于 2021-03-18T12:36:21.733 回答