Преобразования утверждений StringCollection
В этой статье приведены примеры использования преобразований утверждений коллекции строк схемы инфраструктуры процедур идентификации Identity Experience Framework (IEF) в Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения см. в статье о преобразовании утверждений.
AddItemToStringCollection
Добавляет строковое утверждение в новое уникальное строковое утверждение stringCollection. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | Элемент | строка | Тип ClaimType, добавляемый к исходящему утверждению. |
InputClaim | коллекция | stringCollection | Коллекция строк, добавляемая в исходящее утверждение. Если коллекция содержит элементы, преобразование утверждений копирует элементы и добавляет элемент в конец исходящего утверждения коллекции. |
outputClaim | коллекция | stringCollection | Параметр ClaimType, который создается после вызова этого преобразования утверждений, со значением, указанным во входном утверждении. |
Используйте это преобразование утверждений, чтобы добавить строку в новый или существующий элемент stringCollection. Оно обычно используется в техническом профиле AAD-UserWriteUsingAlternativeSecurityId. Перед созданием новой учетной записи социальной сети преобразование утверждений CreateOtherMailsFromEmail считывает ClaimType и добавляет значение в элемент ClaimType otherMails.
Пример AddItemToStringCollection
Следующее преобразование утверждений добавляет элемент ClaimType email в элемент ClaimType otherMails.
<ClaimsTransformation Id="CreateOtherMailsFromEmail" TransformationMethod="AddItemToStringCollection">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="item" />
<InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
</OutputClaims>
</ClaimsTransformation>
- Входящие утверждения:
- collection: ["someone@outlook.com"].
- item: "admin@contoso.com".
- Исходящие утверждения:
- collection: ["someone@outlook.com", "admin@contoso.com"].
AddParameterToStringCollection
Добавляет строковый параметр в новое уникальное строковое утверждение stringCollection. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | коллекция | stringCollection | Коллекция строк, добавляемая в исходящее утверждение. Если коллекция содержит элементы, преобразование утверждений копирует элементы и добавляет элемент в конец исходящего утверждения коллекции. |
InputParameter | Элемент | строка | Значение, добавляемое к исходящему утверждению. |
outputClaim | коллекция | stringCollection | Параметр ClaimType, который создается после вызова этого преобразования утверждений, со значением, указанным во входном параметре. |
Пример AddParameterToStringCollection
В следующем примере постоянный адрес электронной почты (admin@contoso.com) добавляется в утверждение otherMails.
<ClaimsTransformation Id="SetCompanyEmail" TransformationMethod="AddParameterToStringCollection">
<InputClaims>
<InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
</InputClaims>
<InputParameters>
<InputParameter Id="item" DataType="string" Value="admin@contoso.com" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
</OutputClaims>
</ClaimsTransformation>
- Входящие утверждения:
- collection: ["someone@outlook.com"].
- Входные параметры
- item: "admin@contoso.com".
- Исходящие утверждения:
- collection: ["someone@outlook.com", "admin@contoso.com"].
GetSingleItemFromStringCollection
Получает первый элемент из предоставленной коллекции строк. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | коллекция | stringCollection | Параметр ClaimTypes, используемый в преобразовании утверждений для получения элемента. |
outputClaim | extractedItem | Строка | Типы ClaimType, создаваемые после вызова этого преобразования ClaimsTransformation. Первый элемент в коллекции. |
Пример GetSingleItemFromStringCollection
В следующем примере считывается утверждение otherMails и возвращается первый элемент в утверждение email.
<ClaimsTransformation Id="CreateEmailFromOtherMails" TransformationMethod="GetSingleItemFromStringCollection">
<InputClaims>
<InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedItem" />
</OutputClaims>
</ClaimsTransformation>
- Входящие утверждения:
- collection: ["someone@outlook.com", "someone@contoso.com"].
- Исходящие утверждения:
- extractedItem: "someone@outlook.com".
StringCollectionContains
Проверяет, содержит ли тип утверждения StringCollection элемент. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | InputClaim | stringCollection | Утверждение, в котором выполняется поиск. |
InputParameter | элемент | строка | Значение, которое нужно найти. |
InputParameter | ignoreCase | строка | Указывает, следует ли в этом сравнении игнорировать регистр сравниваемых строк. |
outputClaim | outputClaim | Логическое | ClaimType, который создается после вызова ClaimsTransformation. Логический индикатор того, содержит ли коллекция такую строку |
Пример StringCollectionContains
В следующем примере проверяется, содержит ли тип утверждения stringCollection roles
значение admin.
<ClaimsTransformation Id="IsAdmin" TransformationMethod="StringCollectionContains">
<InputClaims>
<InputClaim ClaimTypeReferenceId="roles" TransformationClaimType="inputClaim"/>
</InputClaims>
<InputParameters>
<InputParameter Id="item" DataType="string" Value="Admin"/>
<InputParameter Id="ignoreCase" DataType="string" Value="true"/>
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="isAdmin" TransformationClaimType="outputClaim"/>
</OutputClaims>
</ClaimsTransformation>
- Входящие утверждения:
- inputClaim: ["reader", "author", "admin"]
- Входные параметры:
- item: "Admin"
- ignoreCase: "true"
- Исходящие утверждения:
- outputClaim: "true"
StringCollectionContainsClaim
Проверяет, содержит ли тип утверждения StringCollection значение утверждения. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | коллекция | stringCollection | Утверждение, в котором выполняется поиск. |
InputClaim | элемент | строка | Тип утверждения, содержащий искомое значение. |
InputParameter | ignoreCase | строка | Указывает, следует ли в этом сравнении игнорировать регистр сравниваемых строк. |
outputClaim | outputClaim | Логическое | ClaimType, который создается после вызова ClaimsTransformation. Логический индикатор того, содержит ли коллекция такую строку |
Пример StringCollectionContainsClaim
В следующем примере проверяется, содержит ли тип утверждения stringCollection roles
значение типа утвержденияrole
.
<ClaimsTransformation Id="HasRequiredRole" TransformationMethod="StringCollectionContainsClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="roles" TransformationClaimType="collection" />
<InputClaim ClaimTypeReferenceId="role" TransformationClaimType="item" />
</InputClaims>
<InputParameters>
<InputParameter Id="ignoreCase" DataType="string" Value="true" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="hasAccess" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Входящие утверждения:
- collection: ["reader", "author", "admin"]
- item: "Admin"
- Входные параметры:
- ignoreCase: "true"
- Исходящие утверждения:
- outputClaim: "true"
Дальнейшие действия
- Дополнительные примеры преобразования утверждений можно найти в репозитории сообщества Azure AD B2C в GitHub.