【问题标题】:Authenticating a user in Azure AD through a web api?通过 Web api 在 Azure AD 中对用户进行身份验证?
【发布时间】:2018-02-02 08:14:02
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    没有。

    有一种方法可以通过执行 POST 请求并使用资源所有者密码凭据流来使用用户名 + 密码进行身份验证,但我不推荐它。

    如果出现以下情况,ROPC 将不起作用:

    1. 用户密码已过期
    2. 用户是 MS 帐户/与本地 AD 联合
    3. 用户启用了多重身份验证

    您有多种身份验证流程可供选择,这些流程也适用于所有这些场景,并且不涉及用户向您提供密码。

    例如:

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

    【讨论】:

      【解决方案2】:

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

      sample 可以满足您的需求。有问题的代码是here。

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

      【讨论】:

        猜你喜欢
        • 2017-04-08
        • 1970-01-01
        • 2021-06-19
        • 1970-01-01
        • 2021-04-04
        • 1970-01-01
        • 2021-09-15
        • 2021-03-14
        • 1970-01-01
        相关资源
        最近更新 更多