通过网络对 Azure AD 中的用户进行身份验证 api?
Authenticating a user in Azure AD through a web api?
我正在努力将 Azure AD 身份验证与不同平台上的各种应用程序集成。
有没有办法从通过 Web api 登录的用户获取身份验证令牌 ID,例如 'azureadlogin.com/login?user=ted&password=passwordhash'
似乎有一些方法可以通过节点或 javascript 或 C# 应用程序来完成,但我真的很想有一个简单的网络请求方式来完成它,因为不同平台上有许多不同的应用程序需要使用此功能的用户。
没有
有一种方法可以通过执行 POST 请求并使用资源所有者密码凭证流程来使用用户名 + 密码进行身份验证,但我不推荐这样做。
如果出现以下情况,ROPC 将不起作用:
- 用户密码已过期
- 用户是来自本地 AD
的 MS account/federated
- 用户启用了多重身份验证
您有多种身份验证流程可供选择,它们也适用于所有这些场景,并且不涉及用户向您提供密码。
例如:
- 授权码流程
- 隐式授权流程
- 设备认证流程
您可以使用 username/password 身份验证。但是如果你的应用程序有用户界面,那么它可以弹出常规的 Azure AD 登录页面,我建议不要使用它。使用 Azure AD(或其他身份提供者)的一个主要原因是用户不希望您的应用知道他的密码。
有一个sample which does what you want. The code in question is here。
示例使用 .NET 和 ADAL.net 库,但您可以在其他平台上执行类似的操作。
我正在努力将 Azure AD 身份验证与不同平台上的各种应用程序集成。
有没有办法从通过 Web api 登录的用户获取身份验证令牌 ID,例如 'azureadlogin.com/login?user=ted&password=passwordhash'
似乎有一些方法可以通过节点或 javascript 或 C# 应用程序来完成,但我真的很想有一个简单的网络请求方式来完成它,因为不同平台上有许多不同的应用程序需要使用此功能的用户。
没有
有一种方法可以通过执行 POST 请求并使用资源所有者密码凭证流程来使用用户名 + 密码进行身份验证,但我不推荐这样做。
如果出现以下情况,ROPC 将不起作用:
- 用户密码已过期
- 用户是来自本地 AD 的 MS account/federated
- 用户启用了多重身份验证
您有多种身份验证流程可供选择,它们也适用于所有这些场景,并且不涉及用户向您提供密码。
例如:
- 授权码流程
- 隐式授权流程
- 设备认证流程
您可以使用 username/password 身份验证。但是如果你的应用程序有用户界面,那么它可以弹出常规的 Azure AD 登录页面,我建议不要使用它。使用 Azure AD(或其他身份提供者)的一个主要原因是用户不希望您的应用知道他的密码。
有一个sample which does what you want. The code in question is here。
示例使用 .NET 和 ADAL.net 库,但您可以在其他平台上执行类似的操作。