Поделиться через


Общие преобразования утверждений

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

В этой статье приведены примеры использования общих преобразований утверждений настраиваемой политики Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения см. в статье о преобразовании утверждений.

CopyClaim (CopyClaim)

Скопируйте значение утверждения в другое. Оба утверждения должны быть из одного типа. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) InputClaim строка, целое число Тип утверждения, который необходимо скопировать.
outputClaim outputClaim строка, целое число Утверждение, которое создается после вызова этого преобразования утверждений.

Используйте это преобразование утверждений для копирования значения из строки или числового утверждения в другое утверждение. В следующем примере копируется значение внешнего утвержденияEmail в утверждение электронной почты.

<ClaimsTransformation Id="CopyEmailAddress" TransformationMethod="CopyClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="externalEmail" TransformationClaimType="inputClaim"/>
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

Пример CopyClaim

  • Входные утверждения:
    • inputClaim: bob@contoso.com.
  • Выходные утверждения:
    • outputClaim: bob@contoso.com.

DoesClaimExist

Проверяет, существует ли входное утверждение и задает соответствующее выходное утверждение truefalse . Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) InputClaim Любое Входное утверждение, существование которого необходимо проверить.
outputClaim outputClaim булевый Утверждение, которое создается после вызова этого преобразования утверждений.

Пример Объекта DoesClaimExist

Используйте это преобразование утверждений, чтобы проверить, существует ли утверждение или содержит любое значение. Возвращаемое значение — логическое значение, указывающее, существует ли утверждение. В следующем примере проверяется, существует ли адрес электронной почты.

<ClaimsTransformation Id="CheckIfEmailPresent" TransformationMethod="DoesClaimExist">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="isEmailPresent" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Входные утверждения:
    • inputClaim: someone@contoso.com.
  • Выходные утверждения:
    • outputClaim: true.

хеш

Хэш предоставленный обычный текст с помощью соли и секрета. Используемый алгоритм хэширования — SHA-256. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) открытый текст струна Утверждение ввода, зашифрованное
InputClaim (Утверждение входа) соль струна Параметр соли. Можно создать случайное значение с помощью CreateRandomString преобразования утверждений.
ПараметрВвода рандомайзерСекрет струна Указывает на существующий ключ политики Azure AD B2C. Чтобы создать новый ключ политики: в клиенте Azure AD B2C в разделе "Управление" выберите "Платформа удостоверений". Выберите ключи политики , чтобы просмотреть ключи, доступные в клиенте. Нажмите кнопку "Добавить". В разделе "Параметры" выберите "Вручную". Укажите имя (префикс B2C_1A_ может быть добавлен автоматически.). В текстовом поле "Секрет" введите любой секрет, который вы хотите использовать, например, 1234567890. Для назначения ключа выберите Подпись. Нажмите кнопку "Создать".
outputClaim мешанина струна Утверждение, которое создается после вызова этого преобразования утверждений. Утверждение, настроенное в plaintext inputClaim.

Пример хэша

В следующем примере показано, как хэшировать адрес электронной почты. Преобразование утверждений добавляет соль в адрес электронной почты перед хэшированием значения. Чтобы вызвать это преобразование утверждений, задайте для утверждения значение mySalt .

<ClaimsTransformation Id="HashPasswordWithEmail" TransformationMethod="Hash">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="plaintext" />
    <InputClaim ClaimTypeReferenceId="mySalt" TransformationClaimType="salt" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="randomizerSecret" DataType="string" Value="B2C_1A_AccountTransformSecret" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="hashedEmail" TransformationClaimType="hash" />
  </OutputClaims>
</ClaimsTransformation>
  • Входные утверждения:
    • обычный текст: someone@contoso.com
    • соль: 487624568
    • randomizerSecret: B2C_1A_AccountTransformSecret
  • Выходные утверждения:
    • outputClaim: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=

Дальнейшие шаги