首页 > 解决方案 > 如何在 ADFS 上使用 openid 对同步用户进行身份验证?

问题描述

我有以下情况:

使用Azure AD Connect. azure 门户登录与此本地 AD 联合。我需要允许这些同步用户使用 oauth2 令牌端点在移动应用程序中进行身份验证https://login.microsoftonline.com/tenantid.onmicrosoft.com/oauth2/v2.0/token。为了实现这一点,我在 上注册了一个应用程序App Registrations,它对使用 Azure 门户创建的用户运行良好,但它不适用于同步的本地用户。这里的问题是因为只有用户名被同步,没有密码。因此,当我在此端点上发帖时,我收到错误消息,提示用户名或密码错误。

所以我被困在这里我需要配置什么才能完成这项工作,我已经阅读了很多 Microsoft 文档,但无法弄清楚如何做到这一点。

标签: azureactive-directory

解决方案


您正在使用的身份验证流程(资源所有者密码凭据)与联合用户存在问题。它有时会起作用,尽管我不太清楚为什么。

您的应用应使用基于重定向的身份验证流程,例如门户。它不应该处理用户密码并将其发布到 Azure AD。通过使用例如授权码流程,您的用户可以使用本地帐户/联合帐户/Microsoft 帐户/具有多重身份验证的帐户/重置过期密码登录。您的应用程序不需要关心用户必须做什么来进行身份验证。

例如,使用 ROPC 流程,您的用户无法使用多因素身份验证。他们也无法重置过期的密码。

有关为什么要避免 ROPC 的更多想法,请参阅我的文章:https ://joonasw.net/view/ropc-grant-flow-in-azure-ad


推荐阅读