GetCurrentApplicationCallbackUri 随时间变化
GetCurrentApplicationCallbackUri changing over time
我们正在 Azure 中使用 ADAL 身份验证开发 UWP 应用程序。我们已使用从该方法的结果中获取的重定向 URI 在 Azure 门户中配置我们的客户端:
Windows.Security.Authentication.Web.WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
它一开始是有效的,但现在我们注意到该方法生成的 URI 发生了变化。因此,我们使用 ADAL 登录不再有效,并指出
The reply address 'ms-app://s-1-15-2-104.......' does not match the reply addresses configured for the application.
当然,我们将 URI 的新值添加到客户端配置中,它起作用了,但一两天后它又变了。我认为这不是每隔几天更新一次 Azure 配置的正确方法。
如何保证GetCurrentApplicationCallbackUri的结果不变?
GetCurrentApplicationCallbackUri
使用您应用的 SID 构建 URL。我不确定它的确切机制,但如果您仍在开发该应用程序,尤其是在团队中,SID 可能会发生变化。
确保它保持固定的一种方法是在 Windows 仪表板中创建应用程序并将该应用程序与商店相关联:
从 Visual Studio - 右键单击项目和 select Store->Associate app with the store.
您不必提交,但关联应用会更新 package.appxmanifest 与仪表板中的真实值,并且它们将在开发者之间持续存在。
To support SSO, the online provider must allow you to register a redirect URI in the form ms-app://appSID, where appSID is the SID for your app. You can find your app's SID from the app developer page for your app, or by calling the GetCurrentApplicationCallbackUri method.
我们正在 Azure 中使用 ADAL 身份验证开发 UWP 应用程序。我们已使用从该方法的结果中获取的重定向 URI 在 Azure 门户中配置我们的客户端:
Windows.Security.Authentication.Web.WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
它一开始是有效的,但现在我们注意到该方法生成的 URI 发生了变化。因此,我们使用 ADAL 登录不再有效,并指出
The reply address 'ms-app://s-1-15-2-104.......' does not match the reply addresses configured for the application.
当然,我们将 URI 的新值添加到客户端配置中,它起作用了,但一两天后它又变了。我认为这不是每隔几天更新一次 Azure 配置的正确方法。
如何保证GetCurrentApplicationCallbackUri的结果不变?
GetCurrentApplicationCallbackUri
使用您应用的 SID 构建 URL。我不确定它的确切机制,但如果您仍在开发该应用程序,尤其是在团队中,SID 可能会发生变化。
确保它保持固定的一种方法是在 Windows 仪表板中创建应用程序并将该应用程序与商店相关联: 从 Visual Studio - 右键单击项目和 select Store->Associate app with the store.
您不必提交,但关联应用会更新 package.appxmanifest 与仪表板中的真实值,并且它们将在开发者之间持续存在。
To support SSO, the online provider must allow you to register a redirect URI in the form ms-app://appSID, where appSID is the SID for your app. You can find your app's SID from the app developer page for your app, or by calling the GetCurrentApplicationCallbackUri method.