通过Web API验证Azure AD中的用户?

时间:2018-02-02 08:14:02

标签: azure authentication azure-active-directory azure-authentication

我正在努力将Azure AD身份验证与不同平台上的各种应用程序集成。

有没有办法从通过网络api登录的用户获取身份验证令牌ID,例如'azureadlogin.com/login?user=ted&password=passwordhash'

似乎有办法通过节点或javascript或C#应用程序来实现,但我真的很想有一个简单的Web请求方式,因为在不同的平台上有许多不同的应用程序需要使用这个功能。

2 个答案:

答案 0 :(得分:2)

没有

有一种方法可以通过POST请求和使用资源所有者密码凭据流来使用用户名+密码进行身份验证,但我不建议这样做。

如果出现以下情况,ROPC将无效:

  1. 用户密码已过期
  2. 用户是MS帐户/从内部AD联合
  3. 用户启用了多重身份验证
  4. 您可以选择多种身份验证流程,这些流程也适用于所有这些情况,并且不会让用户向您提供密码。

    例如:

    1. 授权代码流程
    2. 隐含授权流程
    3. 设备身份验证流程

答案 1 :(得分:1)

您可以使用用户名/密码验证。但是,如果您的应用程序具有用户界面,那么它可以弹出常规的Azure AD登录页面,我建议不要使用它。使用Azure AD(或其他身份提供商)的一个主要原因是用户不希望您的应用知道他的密码。

sample可以满足您的需求。相关代码为here

该示例使用.NET和ADAL.net库,但您可以在其他平台上执行类似的操作。