多个客户端使用 Active Directory 进行身份验证

Authentication with Active Directory by multiple clients

与我合作的一个客户有一个现有的 Active Directory 用于他们的员工信息,他们想要创建一个可以使用存储在 Active Directory 中的信息登录的应用程序。该应用程序应具有 Web (.NET)、移动(android 和 iphone)和可选的桌面界面。

我以前没有使用过 Active Directory。我对 Active Directory 做了一些研究,这是我目前所了解的:

有两种方法可以使用 Active Directory 进行身份验证:

我上面的理解对吗?哪种方式更好?为什么一个人应该使用一个而不是另一个? Azure AD 如何进入这幅画?

基本上是

ADFS 3.0 支持 OAuth2 - 早期版本不支持。

请注意,有许多身份提供者可以使用 AD,例如shibboleth 和 PingFederate。

如果您需要 SSO 并且您的 .NET 应用程序是基于声明的(即 WIF),那么请使用 ADFS。您基本上将身份验证外包给受信任和经过验证的安全系统,然后您会取回包含您需要的任何 AD 属性的签名令牌。 ADFS 还提供与其他 STS 联合的能力,例如Azure AD.

在移动方面,看看Azure AD Authentication Library for .NET

对于 AD,您必须自己完成所有这些工作。获取 AD 属性取决于您。并且你需要考虑如何确保安全。

借助 ADFS,您可以将您的用户同步到 AAD,从而在云中使用您的本地凭据。