使用 Xamarin Forms 使用自签名证书向 Azure AD 进行身份验证

Authenticating to Azure AD with Self Signed Certificate using Xamarin Forms

谁能告诉我如何使用 Azure 自签名证书在 Xamarin Forms iOS 和 Android 应用程序中验证 Azure AD 的背景知识。

我正在尝试在没有凭据的情况下对 azure AD 进行身份验证,我已经提供了身份验证证书,但我不清楚身份验证部分。

我从 Microsoft 看到了这个 Guideline。但是不知道如何使用 Xamarin 在客户端实现相同的功能。谁能帮我解决这个问题。

我是 Xamarin 和 Azure 的新手。因此,非常感谢以某些链接/示例形式提供的任何帮助。我在 google 中搜索了解决方案。但最终完全混乱。

您在问题中 post 的指南适用于 Office 移动应用程序,例如 Microsoft Outlook 和 Microsoft Word 以及 Exchange ActiveSync (EAS) 客户端。不适用于您开发的应用程序。

Azure Active Directory 允许应用程序使用 certificate credentials 进行身份验证。

使用自签名证书就像使用 client_credentails 流程一样。

对于Native moblie Application,我不建议你使用这个流程。因为它不能直接代表用户,而且moblie app是一个public客户端,不是机密客户端。它通常用于守护程序。

如果你想使用它,你可以使用ADAL来实现:

这是 Authenticating to Azure AD in daemon apps with certificates 的示例。您可以在 Program.cs 文件中查看如何将 ADAL 与证书凭据流结合使用。

希望对您有所帮助!

如前所述,机密客户端流应仅用于中间层应用程序和开发运营。机密客户端包含应用程序机密,因此业界建议设备应用程序不应使用机密客户端流。

Public 客户端应用程序通常 运行 在设备或台式机上。他们不被信任可以安全地保持应用程序的秘密,因为他们不能持有配置时间的秘密。根据提供的信息(创建 Xamarin iOS 和 Android 应用程序),您可能需要查看 public client application authentication.

这是来自 ADAL 的示例应用程序,其中包括 Xamarin iOS 和 Android。 这是我们 wiki 的 link,其中包含有关 confidential client flows 的更多信息。希望这对您有所帮助!