Transformationen von JSON-Ansprüchen
In diesem Artikel werden Beispiele für die Verwendung von Transformationen von JSON-Ansprüchen für das Identity Experience Framework-Schema in Azure Active Directory B2C (Azure AD B2C) veranschaulicht. Weitere Informationen finden Sie unter Transformationen von Ansprüchen.
CreateJsonArray
Erstellen Sie ein JSON-Einzelelementarray aus einem Anspruchswert. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputClaim | Zeichenfolge | Der Anspruch, der dem Ausgabeanspruch hinzugefügt werden soll. |
OutputClaim | outputClaim | Zeichenfolge | Dies ist der JSON-String, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. |
Beispiel für CreateJsonArray
Im folgenden Beispiel wird ein einzelnes JSON-Array erstellt.
<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim: someone@example.com
- Ausgabeansprüche:
- outputClaim: ["someone@contoso.com"]
GenerateJson
Verwenden Sie entweder Anspruchswerte oder Konstanten, um eine JSON-Zeichenfolge zu generieren. Die Pfadzeichenfolge in Punktnotation wird verwendet, um anzugeben, an welcher Stelle die Daten in einer JSON-Zeichenfolge eingefügt werden sollen. Nach dem Unterteilen durch Punkte werden alle ganzen Zahlen als Index eines JSON-Arrays interpretiert und nicht ganzzahlige Werte als Index eines JSON-Objekts.
Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | Beliebige Zeichenfolge in Punktnotation | Zeichenfolge | Der JsonPath der JSON-Zeichenfolge, in den der Anspruchswert eingefügt wird. |
InputParameter | Beliebige Zeichenfolge in Punktnotation | Zeichenfolge | Der JsonPath der JSON-Zeichenfolge, in den der Zeichenfolgenwert der Konstante eingefügt wird. |
OutputClaim | outputClaim | Zeichenfolge | Die generierte JSON-Zeichenfolge. |
JSON-Arrays
Verwenden Sie zum Hinzufügen von JSON-Objekten zu einem JSON-Array das Format des Arraynamens und des Indexes im Array. Das Array basiert auf null. Beginnen Sie mit null bis N, ohne eine Zahl zu überspringen. Die Elemente im Array können jedes Objekt enthalten. Das erste Element enthält beispielsweise zwei Objekte, app und appId. Das zweite Element enthält ein einzelnes Objekt, program. Das dritte Element enthält vier Objekte, color, language, logo und background.
Im folgenden Beispiel wird veranschaulicht, wie JSON-Arrays konfiguriert werden. Das Array emails verwendet InputClaims
mit dynamischen Werten. Das Array values verwendet InputParameters
mit statischen Werten.
<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>
Das Ergebnis dieser Anspruchstransformation:
{
"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"
}
]
}
Um ein JSON-Array sowohl in den Eingabeansprüchen als auch in den Eingabeparametern anzugeben, müssen Sie das Array im InputClaims
-Element starten, von null bis N. Führen Sie dann im InputParameters
-Element den Index vom letzten Index aus fort.
Im folgenden Beispiel wird ein Array veranschaulicht, das sowohl in den Eingabeansprüchen als auch in den Eingabeparametern definiert ist. Das erste Element des values-Arrays values.0
wird in den Eingabeansprüchen definiert. Die Eingabeparameter werden von Index eins values.1
bis Index zwei values.2
fortgesetzt.
<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>
Beispiel für GenerateJson
Im folgenden Beispiel werden eine JSON-Zeichenfolge basierend auf dem Anspruchswert „email“ und „OTP“ sowie Konstantenzeichenfolgen generiert.
<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>
Die folgende Anspruchstransformation gibt einen JSON-Zeichenfolgenanspruch aus, der als Text der an SendGrid (E-Mail-Drittanbieter) gesendeten Anforderung verwendet wird. Die Struktur des JSON-Objekts wird durch die IDs in der Punktnotation der InputParameters und der TransformationClaimTypes der InputClaims definiert. Zahlen in Punktnotation implizieren Arrays. Die Werte stammen aus den Werten der InputClaims und den Value-Eigenschaften der InputParameters.
- Eingabeansprüche:
- email, transformation claim type personalizations.0.to.0.email: "someone@example.com"
- copiedEmail, Transformationsanspruchstyp personalizations.0.dynamic_template_data.verify-email: „someone@example.com“
- otp, Anspruchstransformationstyp personalizations.0.dynamic_template_data.otp "346349"
- Eingabeparameter:
- template_id: "d-4c56ffb40fa648b1aa6822283df94f60"
- from.email: "service@contoso.com"
- personalizations.0.subject "Contoso account email verification code"
- Ausgabeanspruch:
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" } }
Beispiel für GenerateJson
Im folgenden Beispiel werden eine JSON-Zeichenfolge basierend auf den Anspruchswerten sowie Konstantenzeichenfolgen generiert.
<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>
Die folgende Anspruchstransformation gibt einen JSON-Zeichenfolgenanspruch aus, der als Text der an eine REST-API gesendeten Anforderung verwendet wird. Die Struktur des JSON-Objekts wird durch die IDs in der Punktnotation der InputParameters und der TransformationClaimTypes der InputClaims definiert. Die Werte stammen aus den Werten der InputClaims und den Value-Eigenschaften der InputParameters.
- Eingabeansprüche:
- email, transformation claim type customerEntity.email: "john.s@contoso.com"
- objectId, Transformation anspruchstyp customerEntity.userObjectId "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
- givenName, Transformationsanspruchstyp customerEntity.firstName: „John“
- surname, Transformationsanspruchstyp customerEntity.lastName: „Smith“
- Eingabeparameter:
- customerEntity.role.name: "Administrator"
- customerEntity.role.id 1
- Ausgabeanspruch:
requestBody:
{ "customerEntity":{ "email":"john.s@contoso.com", "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "firstName":"John", "lastName":"Smith", "role":{ "name":"Administrator", "id": 1 } } }
Die Anspruchstransformation GenerateJson akzeptiert einfache Zeichenfolgen. Wenn ein Eingabeanspruch eine JSON-Zeichenfolge enthält, wird diese Zeichenfolge mit Escapezeichen versehen. Wenn Sie im folgenden Beispiel die E-Mail-Ausgabe des obigen CreateJsonArray-Beispiels (also [“someone@contoso.com“] als Eingabeparameter) verwenden, sieht die E-Mail wie im folgenden JSON-Anspruch dargestellt aus:
- Ausgabeanspruch:
requestBody:
{ "customerEntity":{ "email":"[\"someone@contoso.com\"]", "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "firstName":"John", "lastName":"Smith", "role":{ "name":"Administrator", "id": 1 } } }
GetClaimFromJson
Abrufen eines angegebenen JSON-Datenelements Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputJson | Zeichenfolge | Die Anspruchstypen, die von der Anspruchstransformation verwendet werden, um das Element abzurufen |
InputParameter | claimToExtract | Zeichenfolge | Der Name des JSON-Elements, das extrahiert werden soll |
OutputClaim | extractedClaim | Zeichenfolge | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation ausgelöst wurde. Es handelt sich um den Elementwert, der im Eingabeparameter claimToExtract angegeben ist. |
Beispiel für GetClaimFromJson
Im folgenden Beispiel hat die Anspruchstransformation das emailAddress
-Element aus dem JSON-Datenelement extrahiert: {"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>
- Eingabeansprüche:
- inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
- Eingabeparameter:
- claimToExtract: emailAddress
- Ausgabeansprüche:
- extractedClaim: someone@example.com
Beispiel für GetClaimFromJson
Die Anspruchstransformation „GetClaimFromJson“ ruft ein einzelnes Element aus JSON-Daten ab. Im vorherigen Beispiel war das die E-Mail-Adresse (emailAddress). Zum Abrufen des Anzeigenamens (displayName) muss eine weitere Anspruchstransformation erstellt werden. Zum Beispiel:
<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>
- Eingabeansprüche:
- inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
- Eingabeparameter:
- claimToExtract: displayName
- Ausgabeansprüche:
- extractedClaim: Someone
GetClaimsFromJsonArray
Abrufen einer Liste der angegebenen JSON-Datenelemente Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | jsonSourceClaim | Zeichenfolge | Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird die von der Anspruchstransformation verwendet, um die Ansprüche abzurufen |
InputParameter | errorOnMissingClaims | boolean | Gibt an, ob ein Fehler ausgelöst werden soll, wenn einer der Ansprüche fehlt. |
InputParameter | includeEmptyClaims | Zeichenfolge | Gibt an, dass leere Ansprüche hinzugefügt werden sollen. |
InputParameter | jsonSourceKeyName | Zeichenfolge | Name des Elementschlüssels |
InputParameter | jsonSourceValueName | Zeichenfolge | Name des Elementwerts |
OutputClaim | Collection | string, int, boolean und datetime | Liste mit Ansprüchen, die extrahiert werden sollen. Der Name des Anspruchs soll dem Namen entsprechen, der im Eingabeanspruch jsonSourceClaim angegeben ist. |
Beispiel für GetClaimsFromJsonArray
In diesem Beispiel extrahiert die Anspruchstransformation die folgenden Ansprüche aus dem JSON-Datenelement: email (string), displayName (string), membershipNum (int), active (boolean) und 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>
Eingabeansprüche:
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" } ]
Eingabeparameter:
- errorOnMissingClaims: FALSE
- includeEmptyClaims: FALSE
- jsonSourceKeyName: Schlüssel
- jsonSourceValueName: Wert
Ausgabeansprüche:
- email: "someone@example.com"
- displayName: "Someone"
- membershipID: 6353399
- active: TRUE
- birthDate: 2005-09-23T00:00:00Z
GetClaimsFromJsonArrayV2
Rufen Sie eine Liste der angegebenen Elemente aus einer Zeichenfolgensammlung mit JSON-Elementen ab. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | jsonSourceClaim | stringCollection | Der Anspruch mit einer Zeichenfolgensammlung mit den JSON-Nutzdaten. Dieser Anspruch wird die von der Anspruchstransformation verwendet, um die Ansprüche abzurufen |
InputParameter | errorOnMissingClaims | boolean | Gibt an, ob ein Fehler ausgelöst werden soll, wenn einer der Ansprüche fehlt. |
InputParameter | includeEmptyClaims | Zeichenfolge | Gibt an, dass leere Ansprüche hinzugefügt werden sollen. |
InputParameter | jsonSourceKeyName | Zeichenfolge | Name des Elementschlüssels |
InputParameter | jsonSourceValueName | Zeichenfolge | Name des Elementwerts |
OutputClaim | Collection | string, int, boolean und datetime | Liste mit Ansprüchen, die extrahiert werden sollen. Der Name des Anspruchs soll dem Namen entsprechen, der im Eingabeanspruch jsonSourceClaim angegeben ist. |
Beispiel für GetClaimsFromJsonArrayV2
In diesem Beispiel extrahiert die Anspruchstransformation die folgenden Ansprüche aus dem JSON-Datenelement: email (string), displayName (string), membershipNum (int), active (boolean) und 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>
Eingabeansprüche:
jsonSourceClaim[0] (erstes Element der Zeichenfolgensammlung):
{ "key": "email", "value": "someone@example.com" }
jsonSourceClaim[1] (zweites Element der Zeichenfolgensammlung):
{ "key": "displayName", "value": "Someone" }
jsonSourceClaim[2] (drittes Element der Zeichenfolgensammlung):
{ "key": "membershipID", "value": 6353399 }
jsonSourceClaim[3] (viertes Element der Zeichenfolgensammlung):
{ "key": "active", "value": true }
jsonSourceClaim[4] (fünftes Element der Zeichenfolgensammlung):
{ "key": "birthDate", "value": "2005-09-23T00:00:00Z" }
Eingabeparameter:
- errorOnMissingClaims: FALSE
- includeEmptyClaims: FALSE
- jsonSourceKeyName: Schlüssel
- jsonSourceValueName: Wert
Ausgabeansprüche:
- email: "someone@example.com"
- displayName: "Someone"
- membershipID: 6353399
- active: TRUE
- birthDate: 2005-09-23T00:00:00Z
GetNumericClaimFromJson
Abrufen eines angegebenen numerisches JSON-Datenelements (long) Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputJson | Zeichenfolge | Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird die von der Anspruchstransformation verwendet, um den numerischen Anspruch abzurufen |
InputParameter | claimToExtract | Zeichenfolge | Der Name des JSON-Elements, das extrahiert werden soll |
OutputClaim | extractedClaim | long | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation ausgelöst wurde. Es handelt sich um den Elementwert, der im Eingabeparameter claimToExtract angegeben ist. |
Beispiel für GetNumericClaimFromJson
Im folgenden Beispiel extrahiert die Anspruchtransformation das id
-Element aus dem JSON-Datenelement.
<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>
Eingabeansprüche:
inputJson:
{ "emailAddress": "someone@example.com", "displayName": "Someone", "id": 6353399 }
Eingabeparameter
- claimToExtract: id
Ausgabeansprüche:
- extractedClaim: 6353399
GetSingleItemFromJson
Ruft das erste Element aus einem JSON-Datenelement ab. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputJson | Zeichenfolge | Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird von der Anspruchstransformation verwendet, um das Element aus den JSON-Daten abzurufen. |
OutputClaim | Schlüssel | Zeichenfolge | Der erste Elementschlüssel im JSON-Code. |
OutputClaim | value | Zeichenfolge | Der erste Elementwert im JSON-Code. |
Beispiel für GetSingleItemFromJson
Im folgenden Beispiel extrahiert die Anspruchstransformation das erste Element (den Vornamen) aus den JSON-Daten.
<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>
Eingabeansprüche:
inputJson:
{ "givenName": "Emily", "lastName": "Smith" }
Ausgabeansprüche:
- key: givenName
- value: Emily
GetSingleValueFromJsonArray
Abrufen des ersten Elements aus dem JSON-Datenarray. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputJsonClaim | Zeichenfolge | Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird von der Anspruchstransformation verwendet, um den Wert aus den JSON-Array abzurufen. |
OutputClaim | extractedClaim | Zeichenfolge | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Es handelt sich hierbei um das erste Element im JSON-Array. |
GetSingleValueFromJsonArray
Im folgenden Beispiel extrahiert die Anspruchstransformation das erste Element (die E-Mail-Adresse) aus dem JSON-Array ["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>
- Eingabeansprüche:
- inputJsonClaim: ["someone@example.com", "Someone", 6353399]
- Ausgabeansprüche:
- extractedClaim: someone@example.com
XmlStringToJsonString
Konvertieren von XML-Daten ins JSON-Format. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | Xml | Zeichenfolge | Der Anspruch mit der XML-Nutzlast. Dieser Anspruch ist von der Anspruchstransformation verwendet, um das Datenelement von XML ins JSON-Format zu konvertieren. |
OutputClaim | json | Zeichenfolge | Der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Es handelt sich hierbei um die Daten im JSON-Format. |
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
</OutputClaims>
</ClaimsTransformation>
Beispiel für XmlStringToJsonString
Im folgenden Beispiel konvertiert die Anspruchstransformation die folgenden XML-Daten ins JSON-Format.
Eingabeanspruch:
<user>
<name>Someone</name>
<email>someone@example.com</email>
</user>
Ausgabeanspruch:
{
"user": {
"name":"Someone",
"email":"someone@example.com"
}
}
Nächste Schritte
- Weitere Beispiele für die Anspruchstransformation finden Sie im GitHub-Repository der Azure-AD-B2C-Community