【发布时间】:2020-07-12 18:30:25
【问题描述】:
我们有一个非常大的 Winforms 项目,我们需要使用 SSO 和 AAD 来对外部 API 服务进行 API 调用。
我正在使用 MSAL 和方法:
app.AcquireTokenSilent
app.AcquireTokenByIntegratedWindowsAuth
但是,我得到了错误:
Microsoft.Identity.Client.MsalClientException:托管用户不支持集成 Windows 身份验证。详情请见https://aka.ms/msal-net-iwa。
在 Microsoft.Identity.Client.Internal.Requests.IntegratedWindowsAuthRequest
使用方法:
app.AcquireTokenInteractive
应用程序会提示用户选择要使用的帐户(提示显示已连接到 Windows),并且我不需要输入密码,在我单击它唱歌的用户并获取令牌后立即.
在我获得令牌并使用PublicClientApp.UserTokenCache 保存后,即使令牌已过期,我也无需选择用户自动登录的帐户。
我想避免第一个提示。
我已经尝试了 2 个选项(均无效):
- 在 Windows AD 中创建用户,然后同步到 AAD
- 在 AAD 中创建的用户,然后在 Windows AD 中创建
附加信息:
- 将应用程序视为公共客户端在应用程序注册中标记为是。
- 我在 Web 应用程序 (SPA) 中使用了相同的应用注册,并使用 Microsoft Edge 我无需用户交互即可登录,它会自动登录
问题仅在于 Winforms 应用程序
谢谢。 ????
【问题讨论】:
标签: winforms azure-active-directory single-sign-on msal jwt-auth