具有自定义策略的Azure AD B2C:无法使用临时密码对用户进行身份验证

时间:2017-07-28 13:47:24

标签: azure-ad-b2c

我已使用自定义策略配置Azure AD B2C,但我无法使用Azure门户中创建的新用户进行身份验证。用户有一个临时密码。即使用户名和密码正确,Azure AD B2C也会返回错误文本无效的用户名或密码

我已确认可以使用非自定义策略在Azure AD B2C中使用新用户和临时密码登录。登录后,系统会提示用户更改密码。

可以使用本指南中描述的自定义政策重现该问题: Get started with custom policies

其他信息:

我在UserJourneyRecorderEndpoint中配置了b2crecorder https://b2crecorder.azurewebsites.net/stream?id=<guid>。通过https://b2crecorder.azurewebsites.net/trace_102.html?id=<guid>

可以访问更多信息

问题导致以下日志记录:

SelfAssertedMessageValidationHandler

The message was received from null

Validation via SelfAssertedAttributeProvider

Additional validation is required...

OperativeTechnicalProfile is login-NonInteractive

Mapping 'username' partner claim type to 'signInName' policy claim type

Mapping default value 'undefined' to policy 'grant_type'

Mapping default value 'undefined' to policy 'scope'

Mapping default value 'undefined' to policy 'nca'

Mapping default value 'undefined' to policy 'client_id'

Mapping default value 'undefined' to policy 'resource_id'

Using validation endpoint at: https://login.microsoftonline.com/xxxx.onmicrosoft.com/oauth2/token

Orchestration Step: 1

RA: 0

Protocol selected by the caller: OAUTH2

Communications with the caller handled by: OAuth2ProtocolProvider

IC: True

OAuth2 Message: MSG(d56987e9-be2e-46fc-a7a4-23e317f8f174) Message Detail

ValidationRequest:

ValidationResponse:

Exception:

Exception of type 'Web.TPEngine.Providers.BadArgumentRetryNeededException' was thrown.

2 个答案:

答案 0 :(得分:9)

最常见的原因是Grant Permissions尚未执行。

在“ProxyIdentityExperienceFramework应用程序”上 - &gt;选择Access IdentityExperienceFramework - &gt;的复选框后单击选择并点击完成,您还必须完成下一步:

选择授予权限,然后选择进行确认。

修改

很抱歉,在仔细阅读您的情况后,“注册或登录策略”或“自定义策略”都不支持Azure Active Directory forceChangePasswordNextLogin标志。 (forceChangePasswordNextLogin仅适用于“注册政策”)有一个feature request tracking this here.

答案 1 :(得分:0)

由于这是有关此问题的第一篇SO文章,因此我将添加另一种在遇到此问题时要检查的可能性,即确保Proxy应用程序类型是Native而不是Web。