Отправка заявки в Техническом профиле проверки

#azure-ad-b2c #azure-ad-b2c-custom-policy

Вопрос:

Я провожу проверку нашей базы данных во время нашей политики забывания пароля. Во время этого процесса он вызывает API и нуждается в токене на предъявителя. У меня уже есть технический профиль, чтобы сделать это, который мы используем на следующем этапе.

Таким образом, в этом процессе он продолжает не искать токен на предъявителя. Это говорит о том, что единственный токен, доступный в электронном письме.

Мне нужно сделать промежуточный шаг, чтобы получить токен на предъявителя, но я не уверен, как это сделать, так как я провожу проверку…

Вот что у меня есть. После того, как я введу электронное письмо, чтобы подтвердить его.

 <ClaimsProvider>
      <DisplayName>REST API to Check Member</DisplayName>
     <TechnicalProfiles>
      <TechnicalProfile Id="LocalAccountDiscoveryUsingEmailAddress">
          <ValidationTechnicalProfiles>
            <ValidationTechnicalProfile ReferenceId="REST-CheckMemberAccountHolder" ContinueOnError="false"/>
          </ValidationTechnicalProfiles>
        </TechnicalProfile>

        <TechnicalProfile Id="REST-CheckMemberAccountHolder">
          <DisplayName>Rest API call to Check Member status</DisplayName>
          <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
          <Metadata>
            <Item Key="ServiceUrl">{API}</Item>
            <Item Key="SendClaimsIn">Body</Item>
            <Item Key="AuthenticationType">Bearer</Item>
            <Item Key="UseClaimAsBearerToken">bearerToken</Item>
            <Item Key="AllowInsecureAuthInProduction">false</Item>
          </Metadata>
          <InputClaims>
            <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailaddress"/>
            <InputClaim ClaimTypeReferenceId="bearerToken" />
          </InputClaims>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
 

Мне нужно, чтобы он позвонил

  <TechnicalProfile Id="REST-AcquireAccessToken">
 

Чтобы получить код на предъявителя для ОСТАЛЬНЫХ, вызовите проверку.

Кажется, я не могу понять, как это сделать.

Ответ №1:

В соответствии с этим, я предполагаю, что у вас было что-то вроде:

 <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="bearerToken" PartnerClaimType="access_token" />
</OutputClaims>
 

когда вы приобрели жетон?

Является ли все это частью одного и того же пользовательского путешествия?

Что вы имеете в виду, говоря «единственный токен, доступный в электронном письме»?

Комментарии:

1. Я смог это сделать, добавив технический профиль 2-й проверки перед другим.