我已经使用入门包创建了自定义登录流程(仅对我的广告租户进行了更改)。我在Ad中创建了一个新用户,使用的临时密码是该用户在首次登录时被迫更改的临时密码。
当用户首次登录时,将显示一个错误,提示用户名/密码无效,而不是进入密码重设页面。
我需要对“自定义”登录流程进行哪些更改,以使其显示密码重置页面?
答案 0 :(得分:0)
在B2C登录流程中,您不能使用具有临时密码的新创建用户。对于该流,它无法重定向到用户更改密码页面。
答案 1 :(得分:0)
如果可以create a new user with a random password using the Azure AD Graph API(而不使用Azure门户),则可以实施自定义策略,指示新用户重置随机密码。
要实施此操作,您必须create a custom attribute,例如 ForceChangePasswordNextSignIn ,将此新用户的自定义属性设置为true
,然后在登录流程中测试该自定义属性,如下所示。
要将新用户的自定义属性设置为true
:
{
"accountEnabled": true,
"creationType": "LocalAccount",
"displayName": "Alex Wu",
"passwordProfile": {
"password": "Test1234",
"forceChangePasswordNextLogin": false
},
"signInNames": [
{
"type": "emailAddress",
"value": "AlexW@example.com"
}
],
"extension_<b2cExtensionApplicationObjectIdWithoutHyphens>_ForceChangePasswordNextSignIn": true
}
要在登录流程中测试自定义属性,请执行以下操作:
<ClaimType Id="extension_ForceChangePasswordNextSignIn">
<DisplayName>Force Change Password Next Sign-In</DisplayName>
<DataType>boolean</DataType>
</ClaimType>
true
(即新用户不必重置为随机密码)。<ClaimsTransformation Id="EnsureForceChangePasswordNextSignInIsFalse" TransformationMethod="AssertBooleanClaimIsEqualToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_ForceChangePasswordNextSignIn" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="false" />
</InputParameters>
</ClaimsTransformation>
true
。<TechnicalProfile Id="AAD-UserReadUsingSignInName-EnsureForceChangePasswordNextSignInIsFalse">
...
<InputClaims>
<InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="signInNames" Required="true" />
</InputClaims>
<OutputClaims>
...
<OutputClaim ClaimTypeReferenceId="extension_ForceChangePasswordNextSignIn" />
</OutputClaims>
<OutputClaimsTransformations>
...
<OutputClaimsTransformation ReferenceId="EnsureForceChangePasswordNextSignInIsFalse" />
</OutputClaimsTransformations>
</TechnicalProfile>
true
答案 2 :(得分:0)
MS提供了一个示例,描述了如何执行强制密码重置。参见Here。
这仅在您以编程方式创建用户时才有效。需要注意的一点是,创建用户时应确保将passwordProfile.ForceChangePasswordNextLogin设置为false。