我希望从我的应用程序验证有效的Azure Directory用户。因此,我希望的输出是该用户是否有效?
我使用此API https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/token
和以下URL编码主体(如client_id
、scope
、client_secret
、username
、password
、grant_type
)进行身份验证,但此API仅在用户禁用其MFA时工作,但即使用户已启用MFA,我也希望进行身份验证。
1条答案
按热度按时间hxzsmxv21#
你遇到了ROPC流的其中一个限制。无法使用该流对启用了MFA的用户进行身份验证。解决方案是将你的应用程序更改为使用交互式流(如授权代码流)。这将要求你的应用程序将用户转发到Azure AD以登录,然后你的应用程序以交换方式获取访问令牌。
优点:
缺点:
文件:https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow
如果您有Javascript前端应用程序,您可以使用MSAL.js来处理身份验证。也可以使用其他OpenID Connect兼容库。