我正在尝试在我们的 Xamarin 应用程序中启用跨应用程序 SSO,以便如果用户安装并登录其中一个应用程序,他会自动登录到我组织的其他应用程序。以下文档声称可以达到要求
https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-sso-android 。我们遵循非经纪人辅助登录流程。
我已认真履行以下三个条件-
- 这些应用在 list 文件中使用相同的
android:sharedUserId
。 - 它们使用的 native 客户端是相同的。对于应用程序来说,只有重定向 URL 不同。
- 所有这些都使用相同的 keystore 进行签名。
但是功能还没有实现。当我安装并登录一个应用程序时,当我尝试使用以下行获取访问 token 时,第二个应用程序仍然提示输入凭据
authResult = await authContext.AcquireTokenAsync(resource, clientId, new Uri(returnUri), new PlatformParameters((Activity)Forms.Context));
请帮助我知道我是否可以做些什么来实现这一目标。
最佳答案
由于 Xamarin.Forms 中的限制,没有代理(Microsoft Authenticator 或公司门户)的 SSO 不适用于当前版本的 ADAL。 我们有一个工作项目来更新文档。
关于c# - 在 Xamarin 中使用 Azure AD 的跨应用 SSO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47867365/