、私は複数のソーシャルプロバイダを可能にUserJourneyだけでなく、ローカルプロバイダを作成しようとしているが、唯一のサインインし、メンバー登録していないことができますよ。私はUserJourneyを含むTrustFrameworkExtensionsファイルをアップロードすると、アップロードはエラーで失敗します。カスタムポリシー検証エラー
Unable to upload policy. Reason : Validation failed: 2 validation error(s) found in policy "B2C_1A_TRUSTFRAMEWORKEXTENSIONS" of tenant "mytenant.onmicrosoft.com".ClaimsExchange with id "SignInWithLogonNameExchange" is referenced in UserJourney with id "SignInAny" in policy "B2C_1A_TrustFrameworkExtensions" of tenant "mytenant.onmicrosoft.com", but it was not found.ClaimsExchange with id "SignInWithLogonNameExchange" is referenced in UserJourney with id "SignInAny" in policy "B2C_1A_TrustFrameworkExtensions" of tenant "MBHB2C.onmicrosoft.com", but it was not found.
私は、関連するすべてのコンテンツが含まれていると思いますUserJourney、の最初の部分は、次のとおりです。
<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>
私は何を理解していません実際にはが見つかりませんでした。
提案?
ありがとうございました!
マーティン
'ValidationClaimsExchangeId'は現在のステップへの参照ですか? – spottedmahn
はい。それを指摘してくれてありがとう。私はレスポンスを更新することを考えましたが、このケースはサインインのみですが、サインアップ/サインインのフローで使用されるので、そのままそのまま残しています。そのコンセプトは、ユーザがいくつかの入力を提供していることであり、ユーザの旅が前進できるようになる前に検証されなければならないということです。 –
これはうまくいきました(少なくとも、有効であり、実際のサインイン機能はまだテストされていません)。しかし、私はまた別のエラーを回避するために、OrchestrationStep 1以内 ''セクションを削除する必要がありました '重複するキーシーケンス「SignInWithLogonNameExchange''があります。ありがとう! –