c# - 在 Xamarin 中使用 Azure AD 的跨应用 SSO

标签 c# android azure xamarin azure-active-directory

我正在尝试在我们的 Xamarin 应用程序中启用跨应用程序 SSO,以便如果用户安装并登录其中一个应用程序,他会自动登录到我组织的其他应用程序。以下文档声称可以达到要求

https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-sso-android 。我们遵循非经纪人辅助登录流程。

我已认真履行以下三个条件-

  1. 这些应用在 list 文件中使用相同的 android:sharedUserId
  2. 它们使用的 native 客户端是相同的。对于应用程序来说,只有重定向 URL 不同。
  3. 所有这些都使用相同的 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/

相关文章:

c# - 如何在 C# 中实现通用缓存管理器

c# - 为什么 SatisfyImportsOnce 方法不适用于对象参数?

azure - 将 azureVhd 附加到 kubernetes pod 时出错

powershell - Azure Powershell Keyvaults - 返回多个 SecretValueText 返回 null

java - 按 "Ctrl+Shift+o"后 OnClickListener 被删除

azure - 访问 key 和共享访问签名之间的区别

c# - UnitsNet 的 Json 序列化显示的数据比我类的多得多

c# - 在 Entity Framework 6 中,有没有一种方法可以检测何时将某个实体添加到数据库中?

android - 屏幕关闭/打开的广播接收器和服务

Android:找出 Eclipse 中带有红色感叹号的错误