Преобразования утверждений JSON
В этой статье приведены примеры использования преобразований утверждений JSON схемы Identity Experience Framework в Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения см. в статье о преобразовании утверждений.
CreateJsonArray
Создайте одноэлементный массив JSON из значения утверждения. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | InputClaim | строка | Тип утверждения, добавляемый к исходящему утверждению. |
outputClaim | outputClaim | строка | Строка JSON, которая создается после вызова этого преобразования утверждений. |
Пример CreatJsonArray
В следующем примере создается один массив JSON.
<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Входные утверждения:
- inputClaim: someone@example.com.
- Выходные утверждения:
- outputClaim: ["someone@contoso.com"]
GenerateJson
Чтобы создать строку JSON, используйте либо значения утверждения, либо константы. Строка пути, следующая за точечной нотацией, используется для указания места вставки данных в строку JSON. После разделения точками любые целые числа интерпретируются как индекс массива JSON, а нецелочисленные значения — как индекс объекта JSON.
Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | Любая строка, следующая за точечной нотацией | строка | JsonPath JSON, куда вставляется значение утверждения. |
InputParameter | Любая строка, следующая за точечной нотацией | строка | JsonPath JSON, куда вставляется строковое значение константы. |
outputClaim | outputClaim | строка | Созданная строка JSON. |
Массивы JSON
Чтобы добавить объекты JSON в массив JSON, используйте формат имени массива и индекс в массиве. Массив состоит из нулей. Начните с нуля до N, не пропуская ни одно число. Элементы в массиве могут содержать любой объект. Например, первый элемент содержит два объекта: app и appId. Второй элемент содержит один объект: program. Третий элемент содержит четыре объекта: color, language, logo и background.
В следующем примере показано, как настроить массивы JSON. Массив emails использует InputClaims
с динамическими значениями. Массив values использует InputParameters
со статическими значениями.
<ClaimsTransformation Id="GenerateJsonPayload" TransformationMethod="GenerateJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="mailToName1" TransformationClaimType="emails.0.name" />
<InputClaim ClaimTypeReferenceId="mailToAddress1" TransformationClaimType="emails.0.address" />
<InputClaim ClaimTypeReferenceId="mailToName2" TransformationClaimType="emails.1.name" />
<InputClaim ClaimTypeReferenceId="mailToAddress2" TransformationClaimType="emails.1.address" />
</InputClaims>
<InputParameters>
<InputParameter Id="values.0.app" DataType="string" Value="Mobile app" />
<InputParameter Id="values.0.appId" DataType="string" Value="123" />
<InputParameter Id="values.1.program" DataType="string" Value="Holidays" />
<InputParameter Id="values.2.color" DataType="string" Value="Yellow" />
<InputParameter Id="values.2.language" DataType="string" Value="Spanish" />
<InputParameter Id="values.2.logo" DataType="string" Value="contoso.png" />
<InputParameter Id="values.2.background" DataType="string" Value="White" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
Результат преобразования утверждений:
{
"values": [
{
"app": "Mobile app",
"appId": "123"
},
{
"program": "Holidays"
},
{
"color": "Yellow",
"language": "Spanish",
"logo": "contoso.png",
"background": "White"
}
],
"emails": [
{
"name": "Joni",
"address": "joni@contoso.com"
},
{
"name": "Emily",
"address": "emily@contoso.com"
}
]
}
Чтобы указать массив JSON как во входных утверждениях, так и во входных параметрах, необходимо запустить массив в элементе InputClaims
, от нуля до N. Затем в элементе InputParameters
продолжите индекс из последнего индекса.
В следующем примере показан массив, определенный как во входных утверждениях, так и во входных параметрах. Первый элемент массива values values.0
определяется во входных утверждениях. Входные параметры продолжаются от первого индекса values.1
до индекса два values.2
.
<ClaimsTransformation Id="GenerateJsonPayload" TransformationMethod="GenerateJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="app" TransformationClaimType="values.0.app" />
<InputClaim ClaimTypeReferenceId="appId" TransformationClaimType="values.0.appId" />
</InputClaims>
<InputParameters>
<InputParameter Id="values.1.program" DataType="string" Value="Holidays" />
<InputParameter Id="values.2.color" DataType="string" Value="Yellow" />
<InputParameter Id="values.2.language" DataType="string" Value="Spanish" />
<InputParameter Id="values.2.logo" DataType="string" Value="contoso.png" />
<InputParameter Id="values.2.background" DataType="string" Value="White" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
Пример GenerateJson
В приведенном ниже примере создается строка JSON на основе значения утверждения email и OTP, а также строк констант.
<ClaimsTransformation Id="GenerateRequestBody" TransformationMethod="GenerateJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="personalizations.0.to.0.email" />
<InputClaim ClaimTypeReferenceId="otp" TransformationClaimType="personalizations.0.dynamic_template_data.otp" />
<InputClaim ClaimTypeReferenceId="copiedEmail" TransformationClaimType="personalizations.0.dynamic_template_data.verify-email" />
</InputClaims>
<InputParameters>
<InputParameter Id="template_id" DataType="string" Value="d-4c56ffb40fa648b1aa6822283df94f60"/>
<InputParameter Id="from.email" DataType="string" Value="service@contoso.com"/>
<InputParameter Id="personalizations.0.subject" DataType="string" Value="Contoso account email verification code"/>
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="requestBody" TransformationClaimType="outputClaim"/>
</OutputClaims>
</ClaimsTransformation>
В указанном ниже преобразовании утверждений выводится строковое утверждение JSON, которое будет текстом запроса, отправленного в SendGrid (сторонний поставщик электронной почты). Структура объекта JSON определяется идентификаторами в точечной нотации InputParameters и TransformationClaimTypes в InputClaims. Числа в точечной нотации представляют массивы. Значения берутся из значений InputClaims и свойств "Value" для InputParameters.
- Входные утверждения:
- email, тип утверждения преобразования personalizations.0.to.0.email: someone@example.com;
- copiedEmail, тип утверждения преобразования personalizations.0.dynamic_template_data.verify-email: "someone@example.com"
- otp, тип утверждения преобразования personalizations.0.dynamic_template_data.otp 346349.
- Входной параметр:
- template_id: d-4c56ffb40fa648b1aa6822283df94f60;
- from.email: service@contoso.com;
- personalizations.0.subject: код проверки электронной почты учетной записи Contoso.
- Утверждение вывода:
outputClaim:
{ "personalizations": [ { "to": [ { "email": "someone@example.com" } ], "dynamic_template_data": { "otp": "346349", "verify-email" : "someone@example.com" }, "subject": "Contoso account email verification code" } ], "template_id": "d-989077fbba9746e89f3f6411f596fb96", "from": { "email": "service@contoso.com" } }
Другой пример GenerateJson
В приведенном ниже примере создается строка JSON на основе значений утверждения и строк констант.
<ClaimsTransformation Id="GenerateRequestBody" TransformationMethod="GenerateJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="customerEntity.email" />
<InputClaim ClaimTypeReferenceId="objectId" TransformationClaimType="customerEntity.userObjectId" />
<InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="customerEntity.firstName" />
<InputClaim ClaimTypeReferenceId="surname" TransformationClaimType="customerEntity.lastName" />
</InputClaims>
<InputParameters>
<InputParameter Id="customerEntity.role.name" DataType="string" Value="Administrator"/>
<InputParameter Id="customerEntity.role.id" DataType="long" Value="1"/>
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="requestBody" TransformationClaimType="outputClaim"/>
</OutputClaims>
</ClaimsTransformation>
В указанном ниже преобразовании утверждений выводится строковое утверждение JSON, которое будет текстом запроса, отправленного в REST API. Структура объекта JSON определяется идентификаторами в точечной нотации InputParameters и TransformationClaimTypes в InputClaims. Значения берутся из значений InputClaims и свойств "Value" для InputParameters.
- Входные утверждения:
- email, тип утверждения преобразования customerEntity.email: john.s@contoso.com;
- objectId, тип утверждения преобразования customerEntity.userObjectId "aaaaaa-0000-1111-2222-bbbb"
- givenName, тип утверждения преобразования customerEntity.firstName John;
- surname, тип утверждения преобразования customerEntity.lastName Smith.
- Входной параметр:
- customerEntity.role.name: администратор.
- customerEntity.role.id 1.
- Утверждение вывода:
requestBody:
{ "customerEntity":{ "email":"john.s@contoso.com", "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "firstName":"John", "lastName":"Smith", "role":{ "name":"Administrator", "id": 1 } } }
Преобразование утверждений GenerateJson принимает обычные строки. Если входное утверждение содержит строку JSON, эта строка будет экранирована. В следующем примере, если вы используете выходные данные электронной почты из CreateJsonArray выше, то есть ["someone@contoso.com], в качестве входного параметра электронная почта будет выглядеть, как показано в следующем утверждении JSON:
- Утверждение вывода:
requestBody:
{ "customerEntity":{ "email":"[\"someone@contoso.com\"]", "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "firstName":"John", "lastName":"Smith", "role":{ "name":"Administrator", "id": 1 } } }
GetClaimFromJson
Возвращает указанный элемент из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | inputJson | строка | Утверждения, используемые в преобразовании утверждений для получения элемента. |
InputParameter | claimToExtract | строка | Имя элемента JSON, который требуется извлечь. |
outputClaim | extractedClaim | строка | Утверждение, созданное после вызова преобразования утверждений (значение элемента указано во входном параметре claimToExtract). |
Пример GetClaimFromJson
В следующем примере в процессе преобразования утверждений извлекается элемент emailAddress
из данных JSON: {"emailAddress": "someone@example.com", "displayName": "Someone"}
<ClaimsTransformation Id="GetEmailClaimFromJson" TransformationMethod="GetClaimFromJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="customUserData" TransformationClaimType="inputJson" />
</InputClaims>
<InputParameters>
<InputParameter Id="claimToExtract" DataType="string" Value="emailAddress" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extractedEmail" TransformationClaimType="extractedClaim" />
</OutputClaims>
</ClaimsTransformation>
- Входные утверждения:
- inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
- Входной параметр:
- claimToExtract: emailAddress.
- Выходные утверждения:
- extractedClaim: someone@example.com.
Другой пример GetClaimFromJson
Преобразование утверждения GetClaimFromJson получает один элемент из данных JSON. В предыдущем примере — emailAddress. Чтобы получить displayName, создайте другое преобразование утверждений. Например:
<ClaimsTransformation Id="GetDispalyNameClaimFromJson" TransformationMethod="GetClaimFromJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="customUserData" TransformationClaimType="inputJson" />
</InputClaims>
<InputParameters>
<InputParameter Id="claimToExtract" DataType="string" Value="displayName" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="extractedClaim" />
</OutputClaims>
</ClaimsTransformation>
- Входные утверждения:
- inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
- Входной параметр:
- claimToExtract: displayName
- Выходные утверждения:
- extractedClaim: Someone
GetClaimsFromJsonArray
Возвращает список указанных элементов из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | jsonSourceClaim | строка | Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения утверждений. |
InputParameter | errorOnMissingClaims | boolean | Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует. |
InputParameter | includeEmptyClaims | строка | Указывает, следует ли включать пустые утверждения. |
InputParameter | jsonSourceKeyName | строка | Имя ключа элемента |
InputParameter | jsonSourceValueName | строка | Имя значения элемента |
outputClaim | Коллекция | string, int, boolean и datetime | Список утверждений для извлечения. Имя утверждения должно соответствовать указанному имени во входящем утверждении jsonSourceClaim. |
Пример GetClaimsFromJsonArray
В следующем примере в процессе преобразования утверждений из данных JSON извлекаются следующие утверждения: email (string), displayName (string), membershipNum (int), active (boolean) и birthDate (datetime).
<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArray">
<InputClaims>
<InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
</InputClaims>
<InputParameters>
<InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
<InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
<InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
<InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="membershipID" />
<OutputClaim ClaimTypeReferenceId="active" />
<OutputClaim ClaimTypeReferenceId="birthDate" />
</OutputClaims>
</ClaimsTransformation>
Входящие утверждения:
jsonSourceClaim:
[ { "key": "email", "value": "someone@example.com" }, { "key": "displayName", "value": "Someone" }, { "key": "membershipID", "value": 6353399 }, { "key": "active", "value": true }, { "key": "birthDate", "value": "2005-09-23T00:00:00Z" } ]
Входные параметры:
- errorOnMissingClaims: false.
- includeEmptyClaims: false.
- jsonSourceKeyName: key.
- jsonSourceValueName: value.
Исходящие утверждения:
- email: "someone@example.com".
- displayName: "Someone".
- membershipID: 6353399
- active: true.
- birthDate: 2005-09-23T00:00:00Z
GetClaimsFromJsonArrayV2
Получение списка указанных элементов из элементов JSON коллекции строк. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | jsonSourceClaim | stringCollection | Утверждение коллекции строк с полезными данными JSON. Это утверждение используется в преобразовании утверждений для получения утверждений. |
InputParameter | errorOnMissingClaims | boolean | Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует. |
InputParameter | includeEmptyClaims | строка | Указывает, следует ли включать пустые утверждения. |
InputParameter | jsonSourceKeyName | строка | Имя ключа элемента |
InputParameter | jsonSourceValueName | строка | Имя значения элемента |
outputClaim | Коллекция | string, int, boolean и datetime | Список утверждений для извлечения. Имя утверждения должно соответствовать указанному имени во входящем утверждении jsonSourceClaim. |
Пример GetClaimsFromJsonArrayV2
В следующем примере в процессе преобразования утверждений из данных JSON извлекаются следующие утверждения: email (string), displayName (string), membershipNum (int), active (boolean) и birthDate (datetime).
<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArrayV2">
<InputClaims>
<InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
</InputClaims>
<InputParameters>
<InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
<InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
<InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
<InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="membershipID" />
<OutputClaim ClaimTypeReferenceId="active" />
<OutputClaim ClaimTypeReferenceId="birthDate" />
</OutputClaims>
</ClaimsTransformation>
Входящие утверждения:
jsonSourceClaim[0] (первый элемент коллекции строк):
{ "key": "email", "value": "someone@example.com" }
jsonSourceClaim[1] (второй элемент коллекции строк):
{ "key": "displayName", "value": "Someone" }
jsonSourceClaim[2] (третий элемент коллекции строк):
{ "key": "membershipID", "value": 6353399 }
jsonSourceClaim[3] (четвертый элемент коллекции строк):
{ "key": "active", "value": true }
jsonSourceClaim[4] (пятый элемент коллекции строк):
{ "key": "birthDate", "value": "2005-09-23T00:00:00Z" }
Входные параметры:
- errorOnMissingClaims: false.
- includeEmptyClaims: false.
- jsonSourceKeyName: key.
- jsonSourceValueName: value.
Исходящие утверждения:
- email: "someone@example.com".
- displayName: "Someone".
- membershipID: 6353399
- active: true.
- birthDate: 2005-09-23T00:00:00Z
GetNumericClaimFromJson
Возвращает указанный числовой элемент (long) из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | inputJson | строка | Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения числовых утверждений. |
InputParameter | claimToExtract | строка | Имя извлекаемого элемента JSON. |
outputClaim | extractedClaim | длинный | Утверждение, созданное после вызова преобразования утверждений (значение элемента указано во входных параметрах claimToExtract). |
Пример GetNumericClaimFromJson
В следующем примере в процессе преобразования утверждений из данных JSON извлекается элемент id
.
<ClaimsTransformation Id="GetIdFromResponse" TransformationMethod="GetNumericClaimFromJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="exampleInputClaim" TransformationClaimType="inputJson" />
</InputClaims>
<InputParameters>
<InputParameter Id="claimToExtract" DataType="string" Value="id" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="membershipId" TransformationClaimType="extractedClaim" />
</OutputClaims>
</ClaimsTransformation>
Входящие утверждения:
inputJson:
{ "emailAddress": "someone@example.com", "displayName": "Someone", "id": 6353399 }
Входные параметры
- claimToExtract: id
Исходящие утверждения:
- extractedClaim: 6353399.
GetSingleItemFromJson
Возвращает первый элемент из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | inputJson | строка | Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения элемента из данных JSON. |
outputClaim | ключ | строка | Первый ключ элемента в JSON. |
outputClaim | значение | строка | Значение первого элемента в JSON. |
Пример GetSingleItemFromJson
В приведенном ниже примере в процессе преобразования утверждений из данных JSON извлекается первый элемент (заданное имя).
<ClaimsTransformation Id="GetGivenNameFromResponse" TransformationMethod="GetSingleItemFromJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="json" TransformationClaimType="inputJson" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="givenNameKey" TransformationClaimType="key" />
<OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
</OutputClaims>
</ClaimsTransformation>
Входящие утверждения:
inputJson:
{ "givenName": "Emily", "lastName": "Smith" }
Исходящие утверждения:
- key: givenName;
- value: Emilty.
GetSingleValueFromJsonArray
Возвращает первый элемент из массива данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | inputJsonClaim | строка | Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения значения из массива JSON. |
outputClaim | extractedClaim | строка | Утверждение, которое создается после вызова преобразования утверждений (первый элемент в массиве JSON). |
Пример GetSingleValueFromJsonArray
В следующем примере в процессе преобразования утверждений из массива JSON ["someone@example.com", "Someone", 6353399]
извлекается первый элемент (адрес электронной почты).
<ClaimsTransformation Id="GetEmailFromJson" TransformationMethod="GetSingleValueFromJsonArray">
<InputClaims>
<InputClaim ClaimTypeReferenceId="userData" TransformationClaimType="inputJsonClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedClaim" />
</OutputClaims>
</ClaimsTransformation>
- Входные утверждения:
- inputJsonClaim: ["someone@example.com", "Someone", 6353399].
- Выходные утверждения:
- extractedClaim: someone@example.com.
XmlStringToJsonString
Преобразование данных XML в формат JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания. |
---|---|---|---|
InputClaim | xml | строка | Утверждение с использованием полезных данных XML. Это утверждение используется в преобразовании утверждений для преобразования данных из языка XML в формат JSON. |
outputClaim | json | строка | Утверждение, которое создается после вызова преобразования утверждений (данные в формате JSON). |
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
</OutputClaims>
</ClaimsTransformation>
Пример XmlStringToJsonString
В следующем примере в процессе преобразования утверждений в формат JSON преобразовываются следующие данные XML.
Входящее утверждение:
<user>
<name>Someone</name>
<email>someone@example.com</email>
</user>
Исходящее утверждение:
{
"user": {
"name":"Someone",
"email":"someone@example.com"
}
}
Следующие шаги
- Дополнительные примеры преобразования утверждений можно найти в репозитории сообщества Azure AD B2C в GitHub.