Azure ad b2c 在B2C中,如何更改MFA电话号码或电子邮件,甚至更改方法
我使用的是“B2C IEF自定义策略-使用MFA方法选择(电话/电子邮件)登录”。这很有效 宣传栏上写着“可以通过个人资料编辑更改此偏好”,但我在政策中没有看到这一点 我的使用案例是,用户可以更改MFA的电话号码或电子邮件地址,或者根据MFA在两者之间进行swop(例如,将电话更改为电子邮件,反之亦然) 最简单的方法是“重置”MFA,并要求用户再次安装MFA 所以我将“extension_mfaByPhoneOrEmail”设置为“reset”,然后策略说:Azure ad b2c 在B2C中,如何更改MFA电话号码或电子邮件,甚至更改方法,azure-ad-b2c,Azure Ad B2c,我使用的是“B2C IEF自定义策略-使用MFA方法选择(电话/电子邮件)登录”。这很有效 宣传栏上写着“可以通过个人资料编辑更改此偏好”,但我在政策中没有看到这一点 我的使用案例是,用户可以更改MFA的电话号码或电子邮件地址,或者根据MFA在两者之间进行swop(例如,将电话更改为电子邮件,反之亦然) 最简单的方法是“重置”MFA,并要求用户再次安装MFA 所以我将“extension_mfaByPhoneOrEmail”设置为“reset”,然后策略说: <!-- If user is
<!-- If user is enrolled for MFA, ask the user to select the preferred method -->
<OrchestrationStep Order="4" Type="ClaimsExchange">
<Preconditions>
<!-- If the preferred MFA method is 'phone' skip this orchestration step -->
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>extension_mfaByPhoneOrEmail</Value>
<Value>phone</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
<!-- If the preferred MFA method is 'email' skip this orchestration step -->
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>extension_mfaByPhoneOrEmail</Value>
<Value>email</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="SelfAsserted-Select-MFA-Method" TechnicalProfileReferenceId="SelfAsserted-Select-MFA-Method"/>
</ClaimsExchanges>
</OrchestrationStep>
扩展_mfaByPhoneOrEmail
电话
扩展名为“mfaByPhoneOrEmail”索赔
然后,用户可以再次为MFA选择电子邮件或电话
但如果用户已经在使用手机,手机会显示“我们有一部手机记录”,并且无法更改
我通过使用“编辑MFA”解决了这个问题
有没有办法把电话号码弄清楚
此声明是无法通过DelateClaims方法删除的声明之一
更新2
我包括了DeleteClaims和包含此内容的用户旅程
如果仍然存在问题,请尝试在“Self-Asserted Select MFA Method”中注释检查“extension_mfaByPhoneOrEmail”
删除索赔
认证源
社交身份验证
SkipThisOrchestrationStep
扩展_mfaByPhoneOrEmail
SkipThisOrchestrationStep
在配置文件编辑技术配置文件中添加扩展名\u mfaByPhoneOrEmail
作为输出声明。启动包使用名为自断言配置文件更新的技术配置文件
然后通过添加扩展名\u mfaByPhoneOrEmail
将该属性保存到目录中,作为技术配置文件AAD UserWriteProfileUsingObjectId
的持久声明
您可以在此处阅读有关自断言技术配置文件的输出声明:
您可以在此处阅读有关使用Azure AD技术配置文件将数据持久化到目录的信息:在您的配置文件编辑技术配置文件中将扩展添加为输出声明。\u mfaByPhoneOrEmail
。启动包使用名为自断言配置文件更新的技术配置文件
然后通过添加扩展名\u mfaByPhoneOrEmail
将该属性保存到目录中,作为技术配置文件AAD UserWriteProfileUsingObjectId
的持久声明
您可以在此处阅读有关自断言技术配置文件的输出声明:
您可以在此处阅读有关使用Azure AD技术配置文件将数据持久化到目录的信息:谢谢-请参阅更新。谢谢-请参阅更新。您好,我也面临同样的问题。您是否可以分享您在自定义策略中所做的更改以使其正常工作,我在过去两天中一直在挠头以使其正常工作。对于新用户来说,该问题很好em只是在重置MFA时,感谢advanceDone-如上所述。您好,我面临着同样的问题。您能否分享您在自定义策略中所做的更改以使其正常工作,我在过去两天中挠头以使其正常工作。对于新用户,它工作正常。问题就在重置MFA时,感谢advanceDone-如上所述。
<TechnicalProfile Id="AAD-DeleteClaimsUsingObjectId">
<Metadata>
<Item Key="Operation">DeleteClaims</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" Required="true"/>
</InputClaims>
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="objectId"/>
<PersistedClaim ClaimTypeReferenceId="extension_mfaByPhoneOrEmail"/>
<PersistedClaim ClaimTypeReferenceId="Verified.strongAuthenticationPhoneNumber" PartnerClaimType="strongAuthenticationPhoneNumber"/>
</PersistedClaims>
<OutputClaims/>
<IncludeTechnicalProfile ReferenceId="AAD-Common"/>
</TechnicalProfile>
<OrchestrationStep Order="3" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="B2CUserProfileDeleteExchange" TechnicalProfileReferenceId="AAD-DeleteClaimsUsingObjectId"/>
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="4" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="B2CUserProfileUpdateExchange" TechnicalProfileReferenceId="AAD-UserWriteProfileUsingObjectId"/>
</ClaimsExchanges>
</OrchestrationStep>
<!-- This step reads any user attributes that we may not have received when authenticating using ESTS so they can be sent
in the token. -->
<OrchestrationStep Order="5" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>authenticationSource</Value>
<Value>socialIdpAuthentication</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId"/>
</ClaimsExchanges>
</OrchestrationStep>
<!-- If user is enrolled for MFA, ask the user to change the preferred method or the email or phone number -->
<OrchestrationStep Order="6" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>extension_mfaByPhoneOrEmail</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="SelfAsserted-Select-MFA-Method" TechnicalProfileReferenceId="SelfAsserted-Select-MFA-Method"/>
</ClaimsExchanges>
</OrchestrationStep>