Azure ad b2c 自定义策略验证错误
使用AADB2C身份体验框架自定义策略,我试图创建一个UserTravel,它允许多个社交提供商以及本地提供商,但只允许登录,不允许注册。上载包含UserTravely的TrustFrameworkExtensions文件时,上载失败,错误为: 无法上载策略。原因:验证失败:2个验证错误 可在租户“mytenant.onmicrosoft.com”的策略“B2C_1A_TRUSTFRAMEWORKEXTENSIONS”中找到。id为“SignInWithLogonNameExchange”的ClaimsChange在租户“mytenant.onmicrosoft.com”的策略“B2C_1A_TRUSTFRAMEWORKEXTENSIONS”中id为“SignInWithLogonNameExchange”的用户旅程中引用,但未找到。id为“SignInWithLogonNameExchange”的ClaimsChange在租户“MBHB2C.onmicrosoft.com”的策略“B2C_1A_TrustFrameworkExtensions”中id为“Signany”的用户旅程中引用,但未找到 UserJourney的第一部分,我认为包含所有相关内容,是:Azure ad b2c 自定义策略验证错误,azure-ad-b2c,identity-experience-framework,Azure Ad B2c,Identity Experience Framework,使用AADB2C身份体验框架自定义策略,我试图创建一个UserTravel,它允许多个社交提供商以及本地提供商,但只允许登录,不允许注册。上载包含UserTravely的TrustFrameworkExtensions文件时,上载失败,错误为: 无法上载策略。原因:验证失败:2个验证错误 可在租户“mytenant.onmicrosoft.com”的策略“B2C_1A_TRUSTFRAMEWORKEXTENSIONS”中找到。id为“SignInWithLogonNameExchange”的Cl
<UserJourney Id="SignInAny">
<OrchestrationSteps>
<OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.idpselections">
<ClaimsProviderSelections>
<ClaimsProviderSelection TargetClaimsExchangeId="SignInWithLogonNameExchange" />
<ClaimsProviderSelection TargetClaimsExchangeId="KDEWebAppTestExchange" />
<ClaimsProviderSelection TargetClaimsExchangeId="MSAExchange" />
<ClaimsProviderSelection TargetClaimsExchangeId="GoogleExchange" />
</ClaimsProviderSelections>
<ClaimsExchanges>
<ClaimsExchange Id="SignInWithLogonNameExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
</ClaimsExchanges>
</OrchestrationStep>
<!-- Check if the user has selected to sign in using one of the social providers -->
<OrchestrationStep Order="2" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>objectId</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="KDEWebAppTestExchange" TechnicalProfileReferenceId="KDEWebAppTestProfile" />
<ClaimsExchange Id="MSAExchange" TechnicalProfileReferenceId="MSA-OIDC" />
<ClaimsExchange Id="GoogleExchange" TechnicalProfileReferenceId="Google-OAUTH" />
</ClaimsExchanges>
</OrchestrationStep>
...
</UserJourney>
</OrchestrationSteps>
目标
SkipThisOrchestrationStep
...
我不明白“没找到”到底是什么意思
建议
谢谢
Martin基本上,在
编排步骤
和顺序
1中,您有以下行:
<ClaimsProviderSelection TargetClaimsExchangeId="SignInWithLogonNameExchange" />
因此,当用户单击与该
ClaimsProviderSelection
相对应的按钮时,IEF不知道该做什么(例如使用哪种技术配置文件)validationclaimschangeid
是对当前步骤的引用吗?是。谢谢你指出这一点。我曾考虑过更新响应,但本例仅用于登录,而这在注册/登录流中使用,因此我将保持原样。其概念是用户提供一些输入,这些输入必须在用户旅程开始前进行验证。这起到了作用(至少被认为是有效的,尚未测试实际登录功能);但是,我确实需要删除OrchestrationStep 1中的
部分,以避免出现不同的错误存在重复的键序列“SignInWithLogonNameExchange”
。谢谢
<ClaimsExchange Id="GoogleExchange" TechnicalProfileReferenceId="Google-OAUTH" />