我正尝试使用.NET ADAL库在Azure AD中验证用户的密码。 这适用于没有MFA的普通用户帐户,但我遇到了这样的问题,对于启用了MFA的用户而言,Azure AD AcquireToken不适用于应用程序密码
使用用户的实际密码时,我得到了AADSTS50076: Application password is required.
,这很公平,但是当我创建新的应用程序密码时,收到错误AADSTS70002: Error validating credentials. AADSTS50020: Invalid username or password
。我创建了多个应用程序密码,但它们都不起作用。
用于尝试认证所述代码如下:
var ac = new AuthenticationContext("https://login.windows.net/my-tenant.com");
var authResult = ac.AcquireToken("https://graph.windows.net", "my-client-id", new UserCredential("[email protected]", "my-password"));
被尝试验证用户是全球管理员在该AD。
对于使用MFA的用户,是否可以像这样进行认证?
这是不可能的,因为MFA需要用户交互。 – 2015-03-31 12:51:07
这不就是应用程序的密码是什么,能够登录到无法通过MFA登录的内容?例如,我创建了用于在智能手机/ Outlook上登录Office 365的应用程序。此外,该错误消息明确说我应该创建一个应用程序密码进行身份验证。 – MLowijs 2015-03-31 13:18:30
是的,正如你在你的问题中指出的那样,对于未配置为MFA的用户来说,它工作正常。 – 2015-03-31 13:27:27