Authentication 尽管Azure AD启用了多因素身份验证,我如何验证用户名和密码是否正确?

Authentication 尽管Azure AD启用了多因素身份验证,我如何验证用户名和密码是否正确?,authentication,webforms,azure-active-directory,msal,Authentication,Webforms,Azure Active Directory,Msal,我想知道,尽管在Azure Active Directory中强制执行了多因素身份验证,是否仍需要检查输入的用户名和密码是否正确? 我已经建立了一个应用程序与应用程序权限(管理员同意)以及授权权限,并能够测试这两种方法使用机密客户端和公共客户端使用MSAL库 我无法使用PublicClient方法在IIS中运行我的web表单应用程序,该方法是交互式的,并为Microsoft登录显示一个弹出窗口。因此,我在这里看到的唯一方法是使用仅应用程序身份验证。() 我可以使用机密客户端(仅适用于应用程序),

我想知道,尽管在Azure Active Directory中强制执行了多因素身份验证,是否仍需要检查输入的用户名和密码是否正确? 我已经建立了一个应用程序与应用程序权限(管理员同意)以及授权权限,并能够测试这两种方法使用机密客户端和公共客户端使用MSAL库

我无法使用PublicClient方法在IIS中运行我的web表单应用程序,该方法是交互式的,并为Microsoft登录显示一个弹出窗口。因此,我在这里看到的唯一方法是使用仅应用程序身份验证。()

我可以使用机密客户端(仅适用于应用程序),因为我获得了获得OAuth令牌所需的所有管理员同意,然后模拟用户访问EWS管理的api

但要求用户在加载电子邮件之前(从EWS管理的API(需要OAuth令牌)应在webform应用程序中输入outlook密码

现在我不知道下一步该怎么办。请帮忙。如果您需要更多信息,也请告诉我


有关我无法使用委派身份验证的更多参考信息:

根据我的理解,您希望首先通过Azure AD检查用户名和密码,并使用机密客户端代表用户调用API

这是一种黑客行为,但我认为它适用于这种情况。请尝试以下请求:

POST https://login.microsoftonline.com/<tenant id>/oauth2/v2.0/token
POSThttps://login.microsoftonline.com//oauth2/v2.0/token
请求机构:

client_id=<confidential client app id>
&Client_secret=<confidential client app sec>
&grant_type=password
&scope=https://graph.microsoft.com/user.read
&username=<username>
&password=<password>
client\u id=
&客户机密=
&授权类型=密码
&范围=https://graph.microsoft.com/user.read
&用户名=
&密码=
如果用户键入了错误的用户名和密码,则响应为:

如果用户名和密码正确,响应报告MFA相关信息: