我们正在使用Azure中的ADAL身份验证来开发UWP应用。我们已使用从此方法的结果中获取的重定向URI在Azure Portal中配置了客户端:
Windows.Security.Authentication.Web.WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
它在一开始就起作用,但是现在我们注意到该方法生成的URI发生了变化。因此,我们在ADAL上的登录名不再起作用,说明
答复地址“ ms-app:// s-1-15-2-104 .......”与为该应用程序配置的答复地址不匹配。
当然,我们将URI的新值添加到客户端配置中,并且可以正常工作,但是在一两天后,它又发生了变化。我认为这不是每两天更新一次Azure配置的正确方法。
我们如何确保GetCurrentApplicationCallbackUri的结果保持不变?
在GetCurrentApplicationCallbackUri
使用你的应用程序的SID来构造URL。我不确定它的确切机制,但是如果您仍在开发应用程序,尤其是在团队中,则SID可能会更改。
确保其固定不变的一种方法是在Windows仪表板中创建应用程序,并将该应用程序与商店相关联:在Visual Studio中,右键单击Project,然后选择Store-> App Store与该商店相关联。
您不必提交,但是将应用程序与之关联会将其Dashboard中的真实值更新为package.appxmanifest,并且它们将在开发人员中持久存在。
从文档:
为了支持SSO,在线提供商必须允许您以ms-app:// appSID的形式注册重定向URI,其中appSID是您的应用程序的SID。您可以从应用程序的应用程序开发人员页面或调用GetCurrentApplicationCallbackUri方法找到应用程序的SID。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句