スキップしてメイン コンテンツへ

 none
Azure Active Directory B2C のポリシー内にあるTechnicalProfileのValidationTechnicalProfilesについて RRS feed

  • 質問

  • ValidationTechnicalProfilesについてですが、TechnicalProfileのProtocolが
    セルフアサート以外で使用できないかどうか知りたく思います。
    本来やりたいことはREST APIが参照できずに500のinternal server errorとなった場合は、
    エラーが発生せずに次のステップへ処理が進むようにしたいです。
    それでエラーを回避する方法はValidationTechnicalProfilesぐらいしか検討がつかず、
    かといってClaimsTransformationProtocolProviderでは
    ValidationTechnicalProfilesが反応しないので、セルフアサート以外ではできないのか知りたいです。
    またValidationTechnicalProfiles以外で、ポリシー内で500のinternal server errorを
    回避する方法があればご教授いただけたらと思います。



    〇UserJourneyから呼んでいるOrchestrationStepの一部
    <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
      <!-- check existing session -->
      <Preconditions>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
          <Value>AlternativeSecurityId</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
          <Value>objectId</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsProviderSelections>
        <ClaimsProviderSelection TargetClaimsExchangeId="FacebookExchange" />
        <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
      </ClaimsProviderSelections>
      <ClaimsExchanges>
        <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
      </ClaimsExchanges>
    </OrchestrationStep>

    <OrchestrationStep Order="2" Type="ClaimsExchange">
      <Preconditions>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
          <Value>AlternativeSecurityId</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
          <Value>objectId</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsExchanges>
        <ClaimsExchange Id="FacebookExchange" TechnicalProfileReferenceId="Facebook-OAUTH" />
        <!-- ダミー用 -->
        <ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmailDummy" />
      </ClaimsExchanges>
    </OrchestrationStep>


    〇OrchestrationStep Order="2"のClaimsExchangeでダミーとして作成しているTechnicalProfile
    <TechnicalProfile Id="LocalAccountSignUpWithLogonEmailDummy">
      <DisplayName>dummy</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <InputClaims/>
        <InputClaim ClaimTypeReferenceId="dummyVal2" DefaultValue="false" />
      </InputClaims> -->
      <OutputClaims>
        <!-- consent result -->
        <OutputClaim ClaimTypeReferenceId="dummyVal1" DefaultValue="dummy" />
        <OutputClaim ClaimTypeReferenceId="dummyVal2" DefaultValue="false" />
        <OutputClaim ClaimTypeReferenceId="status" PartnerClaimType="status"/>
        <OutputClaim ClaimTypeReferenceId="status" PartnerClaimType="userMessage"/>
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="IsDummy" />
      </OutputClaimsTransformations>
      <ValidationTechnicalProfiles>
        <ValidationTechnicalProfile ReferenceId="VAL-TECHNICAL" ContinueOnError="true"/>
      </ValidationTechnicalProfiles>
      <UseTechnicalProfileForSessionManagement ReferenceId="XXXX" />
    </TechnicalProfile>


    〇ダミーとして作成しているTechnicalProfileのValidationTechnicalProfilesから呼んでいるRESTのTechnicalProfile
    <TechnicalProfile Id="VAL-TECHNICAL">
      <DisplayName>VAL-TECHNICAL</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="AllowInsecureAuthInProduction">true</Item>
        <Item Key="AuthenticationType">None</Item>
        <Item Key="SendClaimsIn">Body</Item>
        <Item Key="ServiceUrl">https://XXXXXXXX.azurewebsites.net/api/XXXXXXXXXXXXXX?code=XXXXXXXXXXXXXXXXXXXXXXXXXX</Item>
      </Metadata>
      <IncludeInSso>false</IncludeInSso>
      <InputClaims> 
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="status" PartnerClaimType="status" DefaultValue="500" />
        <OutputClaim ClaimTypeReferenceId="userMessage" PartnerClaimType="userMessage" DefaultValue="NG" />
      </OutputClaims>
      <UseTechnicalProfileForSessionManagement ReferenceId="XXXXXXX" />

    2019年12月6日 9:05