Только поле «email» может быть передано через «id_token_hint» в пользовательскую политику B2 C - PullRequest
0 голосов
/ 08 апреля 2020

Я следую этой статье, чтобы передать email и displayName как id_token_hint в мою собственную политику. Ниже приведен технический профиль, который я использую для извлечения данных:

      <TechnicalProfiles>
        <TechnicalProfile Id="IdTokenHint_ExtractClaims">
          <DisplayName> My ID Token Hint TechnicalProfile</DisplayName>
          <Protocol Name="None" />
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_ClientAssertionSigningKey" />
          </CryptographicKeys>  
          <OutputClaims>
            <!--Sample: Read the email cliam from the id_token_hint-->
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="newUserEmail"/>
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="displayName"/>
          </OutputClaims>
        </TechnicalProfile>

Проблема в том, что я могу извлечь только значение электронной почты. Тип заявки displayName не извлекается. Я проверил значение id_token_hint в jwt.ms , там присутствуют значения для email и displayName. Как я могу решить это?

1 Ответ

0 голосов
/ 09 апреля 2020

Вы также должны добавить входящие заявки в качестве входных заявок для технического профиля RelyingParty .

Пример

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <!-- The following claims are read from the ID token -->
    <InputClaims>
      <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="newUserEmail" />
      <InputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="displayName" />
    </InputClaims>
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
      ...
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...