Преобразования общих утверждений
В этой статье приведены примеры использования преобразований общих утверждений настраиваемой политики Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения см. в статье о преобразовании утверждений.
CopyClaim
Копирует значение утверждения в другое утверждение. Оба утверждения должны относиться к одному типу. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | InputClaim | string, int | Тип утверждения, который необходимо скопировать. |
outputClaim | outputClaim | string, int | Утверждение, которое создается после вызова этого преобразования утверждений. |
Используйте это преобразование утверждения для копирования значения из строкового или числового утверждения в другое утверждение. В следующем примере значение утверждения externalEmail копируется в утверждение 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
Проверяет, есть ли входное утверждение, и устанавливает для выходного утверждения значение true
или false
, соответственно. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | 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 | plaintext | строка | Входящее утверждение для шифрования |
InputClaim | salt | строка | Параметр salt. Вы можете создать случайное значение, используя преобразование утверждений CreateRandomString . |
InputParameter | randomizerSecret | строка | Указывает на существующий ключ политики Azure AD B2C. Чтобы создать ключ политики, в арендаторе Azure AD B2C в разделе Manage (Управление) выберите Identity Experience Framework. Выберите Policy Keys (Ключи политики), чтобы просмотреть доступные в арендаторе ключи. Выберите Добавить. В пункте Параметры выберите Manual (Вручную). Предоставьте имя (префикс B2C_1A_ может быть добавлен автоматически). В поле Secret (Секрет) введите любой секрет, который нужно использовать, например 1234567890. Для параметра Использование ключа выберите Подпись. Нажмите кнопку создания. |
outputClaim | hash | строка | Утверждение, которое создается после вызова этого преобразования утверждений. Утверждение, настроенное в inputClaim plaintext . |
Пример хэш-кода
В следующем примере показано, как хэшировать адрес электронной почты. При преобразовании утверждений перед хэшированием значений к адресу электронной почты добавляются случайные данные. Чтобы вызвать это преобразование утверждений, установите значение для утверждения 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>
- Входящие утверждения:
- plaintext: someone@contoso.com.
- salt: 487624568.
- randomizerSecret: B2C_1A_AccountTransformSecret.
- Исходящие утверждения:
- outputClaim: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=
Дальнейшие действия
- Дополнительные примеры преобразования утверждений можно найти в репозитории сообщества Azure AD B2C в GitHub.