我们正在Azure中使用ADAL身份验证开发UWP应用。我们在Azure门户中配置了客户端,其中包含从此方法的结果中获取的重定向URI:
Windows.Security.Authentication.Web.WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
它在开始时工作,但现在我们注意到该方法生成的URI已更改。因此,我们使用ADAL登录不再有效,说明
回复地址'ms-app:// s-1-15-2-104 .......'与为应用程序配置的回复地址不匹配。
当然,我们将URI的新值添加到客户端配置中,并且它可以工作,但是在一两天之后它再次发生了变化。我认为这不是每两天更新Azure配置的正确方法。
我们如何确保 GetCurrentApplicationCallbackUri 的结果保持不变?
答案 0 :(得分:1)
fprintf(stderr,"%d",event.key.keysym.unicode);
使用您应用的SID构建网址。我不确定它的确切机制,但是如果你仍然开发应用程序,特别是在团队中,SID可以改变。
确保其保持不变的一种方法是在Windows控制台中创建应用程序并将应用程序与商店关联: 从Visual Studio - 右键单击项目并选择 Store->将应用程序与商店关联。
您不必提交,但关联该应用会使用信息中心的实际值更新package.appxmanifest,它们将在开发人员中保留。
要支持SSO,在线提供商必须允许您以ms-app:// appSID的形式注册重定向URI,其中appSID是您应用的SID。您可以从应用的应用开发者页面中找到应用的SID,也可以调用GetCurrentApplicationCallbackUri方法。