Azure B2C получает значения из возвращаемого объекта API

Кажется, я не могу получить значения из OutputClaims из моего возвращаемого объекта после выполнения вызова REST API для отображения в токене JWT. Я пробовал это, когда я возвращаю одну строку, она работает нормально, но это возвращает объект, который выглядит так из моего объекта B2CResponseModel.

Должен ли я сделать какое-то сопоставление в пользовательских политиках, чтобы соответствовать моему возвращаемому объекту, или есть ли способ просто получить значение, как я пытаюсь сделать ниже? Спасибо!

TrustFrameworkExtensions.xml

        <TechnicalProfile Id="REST-UserMigration-LocalAccount-SignUp">
                <DisplayName>Migrate user sign-up flow</DisplayName>
                <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
                <Metadata>
        
                    
                    <Item Key="ServiceUrl">https://*******/LocalAccountSignUp</Item>                        
                    <Item Key="AuthenticationType">ApiKeyHeader</Item>
                    <Item Key="SendClaimsIn">Body</Item>
                    <Item Key="AllowInsecureAuthInProduction">True</Item>
                </Metadata>

                <CryptographicKeys>
                    <Key Id="Ocp-Apim-Subscription-Key" StorageReferenceId="B2C_1A_RestApiKey" />
                </CryptographicKeys>

                <InputClaims>
                    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="signInName"/>

                    <!--AM Added-->
                    <InputClaim ClaimTypeReferenceId="signInName" />
                    <InputClaim ClaimTypeReferenceId="password" />
                    <InputClaim ClaimTypeReferenceId="objectId" />
                    <InputClaim ClaimTypeReferenceId="newPassword" />
                    <InputClaim ClaimTypeReferenceId="reenterPassword" />
                     .......                
                </InputClaims>

                <!--AM Added-->
                <OutputClaims>
                    <!-- Claims parsed from your REST API -->
                    <OutputClaim ClaimTypeReferenceId="userMessage" />
                    <OutputClaim ClaimTypeReferenceId="loyaltyNumber"/>                     
                </OutputClaims>
                <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
            </TechnicalProfile>

TrustFrameworkBase.xml

              <ClaimType Id="loyaltyNumber">
            <DisplayName>Loyalty Identification</DisplayName>
            <DataType>string</DataType>
            <UserHelpText>Your loyalty number from your membership card</UserHelpText>
        </ClaimType>

        <ClaimType Id="userMessage">
            <DisplayName>User Message</DisplayName>
            <DataType>string</DataType>
            <UserHelpText>User Message</UserHelpText>
        </ClaimType>

SignInSignup.xml

            <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <TechnicalProfile Id="PolicyProfile">
        <DisplayName>PolicyProfile</DisplayName>
        <Protocol Name="OpenIdConnect" />
        <OutputClaims>
             ....
            <OutputClaim ClaimTypeReferenceId="userMessage" DefaultValue="" />
            <OutputClaim ClaimTypeReferenceId="displayName" />
            <OutputClaim ClaimTypeReferenceId="loyaltyNumber" DefaultValue="" />                
           </OutputClaims>
          <SubjectNamingInfo ClaimType="sub" />
       </TechnicalProfile>
   </RelyingParty>

0 ответов

Другие вопросы по тегам