2017-09-22 2 views
0

私はWingTig Games demo codeの後にJWT経由でsending hidden claims to B2Cです。依拠当事者が請求を要求するにはどうすればよいですか?送信されない場合は、サインアッププロセスを防止しますか?そして私自身のエラーメッセージをユーザに提供する。これらのフィールドはユーザーから隠されます。JWTの入力クレームが必要ですAzureのRelyingPartyから広告B2C

私はRelyingPartyノードの私の葉のポリシーに必要なものを追加しようとしましたが、それは私を通り抜けました。私は私のTechnicalProfileノードに必要な追加を試みたが、それは私を通り抜けた。回避策として

<InputClaims> 
    <InputClaim ClaimTypeReferenceId="extension_my_claim" Required="true"/> 
</InputClaims> 
+1

を指すように、次のXML

<ContentDefinition Id=" api.inputtoken.error "> <LoadUri>~/tenant/default/selfAsserted.cshtml</LoadUri> <RecoveryUri>~/common/default_page_error.html</RecoveryUri> <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0</DataUri> <Metadata> <Item Key="DisplayName">Collect information from user page</Item> </Metadata> </ContentDefinition> 

変更を追加します。私が思うには、あなたがクレームを得ているということです。それはただ空です。その場合は、[](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/blob/master)を介して達成できる余分な検証が必要です。 /SocialAccounts/TrustFrameworkBase.xml#L35)要素を使用します。 – Saca

+0

私は100%ではないので、コメントとして追加してください。うまくいけば、他の誰かがここでより明確な答えを出すことができます。 – Saca

+0

ありがとう@Saca。私はフィールドがユーザーから隠されている(私は質問を更新した)ことを述べておくべきである。私はを試しても機能しませんでした。 – spottedmahn

答えて

0

、あなたは、あなたの顧客のエラーページで、追加のステップを追加する手順1 & 2にプリ条件を追加することができます。

以下のXMLスニペットでは、申し立てが存在する場合にのみステップ1 & 2を実行する事前条件を追加しました。そうでない場合は、次の手順に進みます。 9時には、要求が存在しない場合にのみ事前条件が実行され、カスタムページが表示されます。これは単なる例ですが、あなた自身のエラーページを追加することができます。

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin"> 
    <Preconditions> 
    <Precondition Type="ClaimsExist" ExecuteActionsIf="false"> 
     <Value>{your claim name}</Value> 
     <Action>SkipThisOrchestrationStep</Action> 
    </Precondition> 
    </Preconditions> 
    <ClaimsProviderSelections> 
    <ClaimsProviderSelection TargetClaimsExchangeId="FacebookExchange" /> 
    <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" /> 
    </ClaimsProviderSelections> 
    <ClaimsExchanges> 
    <ClaimsExchange Id="LocalAccountSigninEmailExchange" 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="false"> 
     <Value>{your claim name}</Value> 
     <Action>SkipThisOrchestrationStep</Action> 
    </Precondition> 
    </Preconditions> 

    <Precondition Type="ClaimsExist" ExecuteActionsIf="false"> 
    <Value>registrationSource</Value> 
    <Action>SkipThisOrchestrationStep</Action> 
    </Precondition> 

    </Preconditions> 
    <ClaimsExchanges> 
    <ClaimsExchange Id="FacebookExchange" TechnicalProfileReferenceId="Facebook-OAUTH" /> 
    <ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmail" /> 
    </ClaimsExchanges> 
</OrchestrationStep> 

<!-- Error message--> 
<OrchestrationStep Order="3" Type="ReviewScreen" ContentDefinitionReferenceId="api.selfasserted"> 
    <Preconditions> 
    <Precondition Type="ClaimsExist" ExecuteActionsIf="true"> 
     <Value>registrationSource</Value> 
     <Action>SkipThisOrchestrationStep</Action> 
    </Precondition> 
    </Preconditions> 
</OrchestrationStep> 


<!-- Rest of the UserJourney --> 
</OrchestrationSteps> 
</UserJourney> 

私は、これはTechnicalProfileによって強制されることを期待したい<ContentDefinitions>要素を見つけて、はloadURI値は、あなたのHTMLのエラーページに

関連する問題