我尝试使用WebAuthenticationBroker执行OAuth代码授予身份验证。一切正常,直到身份验证和获取访问令牌。我还需要能够让多个应用程序执行单点登录。所以预期的行为是
现在,如果没有退出应用程序A,假设用户启动并尝试在应用程序B中进行身份验证,我对SSO的理解使我相信,当从应用程序发出授权代码请求时,WAB不应提示最终用户提供凭据B.然而,WAB确实提示凭证,因此不允许SSO体验。
其他几点:
基于以下链接,我的理解是,只要满足WAB要求并且重定向URI符合ms-appx格式,SSO就应该跨应用A和应用B工作:
https://msdn.microsoft.com/en-us/windows/uwp/security/web-authentication-broker
https://msdn.microsoft.com/en-us/library/windows/apps/xaml/br212068.aspx
以上链接摘录:
"使用此方法时,会在来自相同或不同Windows应用商店应用的多个呼叫中保留会话状态或持久性Cookie。"
我尝试在AuthenticateAsync的第一个参数中使用不同的WebAuthenticationOptions值(应用A中的WebAuthenticationOptions.None / UseHttpPost和应用B中的WebAuthenticationOptions.SilentMode以及其他一些组合),但我根本无法让SSO工作在应用A和应用B之间。
问题是:
提前致谢。
PS:不发布任何代码示例,因为这涉及对WebAuthenticationBroker的简单调用。
PPS:没有找到太多关于WAB& amp; SSO因此发布了一个新问题。