StringCollection mengeklaim transformasi

Artikel ini memberikan contoh cara menggunakan transformasi klaim kumpulan string dari skema IEF di Azure Active Directory B2C (Azure AD B2C). Untuk informasi selengkapnya, lihat transformasi klaim.

AdditemToStringCollection

Menambahkan nilai unik baru klaim string ke klaim stringCollection. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim Elemen string ClaimType yang akan ditambahkan ke klaim output.
InputClaim koleksi stringCollection Koleksi string yang akan ditambahkan ke klaim output. Jika koleksi berisi item, transformasi klaim menyalin item, dan menambahkan item ke akhir klaim kumpulan output.
OutputClaim koleksi stringCollection ClaimType yang diproduksi setelah transformasi klaim ini dipanggil, dengan nilai yang ditentukan dalam klaim input.

Gunakan transformasi klaim ini untuk menambahkan string ke stringCollection baru atau yang sudah ada. Ini biasanya digunakan dalam profil teknis AAD-UserWriteUsingAlternativeSecurityId. Sebelum akun sosial baru dibuat, transformasi klaim CreateOtherMailsFromEmail membaca ClaimType dan menambahkan nilai ke ClaimType otherMails.

Contoh AddItemToStringCollection

Transformasi klaim berikut menambahkan ClaimType email ke 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>
  • Klaim input:
    • collection: ["someone@outlook.com"]
    • item: "admin@contoso.com"
  • Klaim output:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

AddParameterToStringCollection

Menambahkan parameter string ke klaim nilai unik baru stringCollection. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim koleksi stringCollection Koleksi string yang akan ditambahkan ke klaim output. Jika koleksi berisi item, transformasi klaim menyalin item, dan menambahkan item ke akhir klaim kumpulan output.
InputParameter Elemen string Nilai yang akan ditambahkan ke klaim output.
OutputClaim koleksi stringCollection ClaimType yang diproduksi setelah transformasi klaim ini dipanggil, dengan nilai yang ditentukan dalam parameter input.

Contoh AddParameterToStringCollection

Contoh berikut menambahkan alamat email konstan (admin@contoso.com) ke klaim 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>
  • Klaim input:
    • collection: ["someone@outlook.com"]
  • Parameter input
    • item: "admin@contoso.com"
  • Klaim output:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

GetSingleItemFromStringCollection

Mendapatkan item pertama dari koleksi string yang disediakan. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim koleksi stringCollection ClaimTypes yang digunakan oleh transformasi klaim untuk mendapatkan item.
OutputClaim extractedItem string ClaimTypes yang diproduksi setelah ClaimsTransformation ini dipanggil. Item pertama di dalam koleksi.

Contoh GetSingleItemFromStringCollection

Contoh berikut membaca klaim otherMails dan mengembalikan item pertama ke dalam klaim email.

<ClaimsTransformation Id="CreateEmailFromOtherMails" TransformationMethod="GetSingleItemFromStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedItem" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • collection: ["someone@outlook.com", "someone@contoso.com"]
  • Klaim output:
    • extractedItem: "someone@outlook.com"

StringCollectionContains

Memeriksa apakah jenis klaim StringCollection berisi elemen. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim inputClaim stringCollection Klaim yang akan dicari.
InputParameter item string Nilai untuk dicari.
InputParameter ignoreCase string Menentukan apakah perbandingan ini harus mengabaikan kasus string yang sedang dibandingkan.
OutputClaim outputClaim boolean ClaimType yang diproduksi setelah ClaimsTransformation ini dipanggil. Indikator boolean jika koleksi berisi string seperti itu

Contoh StringCollectionContains

Contoh berikut memeriksa apakah tipe klaim stringCollection roles berisi nilai 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>
  • Klaim input:
    • inputClaim: ["reader", "author", "admin"]
  • Parameter input:
    • item: "Admin"
    • ignoreCase: "true"
  • Klaim output:
    • outputClaim: "true"

StringCollectionContainsClaim

Memeriksa apakah jenis klaim StringCollection berisi nilai klaim. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim koleksi stringCollection Klaim yang akan dicari.
InputClaim item string Tipe klaim yang berisi nilai yang akan dicari.
InputParameter ignoreCase string Menentukan apakah perbandingan ini harus mengabaikan kasus string yang sedang dibandingkan.
OutputClaim outputClaim boolean ClaimType yang diproduksi setelah ClaimsTransformation ini dipanggil. Indikator boolean jika koleksi berisi string seperti itu

Contoh StringCollectionContainsClaim

Contoh berikut memeriksa apakah tipe klaim stringCollection roles berisi nilai tipe klaim 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> 
  • Klaim input:
    • collection: ["reader", "author", "admin"]
    • item: "Admin"
  • Parameter input:
    • ignoreCase: "true"
  • Klaim output:
    • outputClaim: "true"

Langkah berikutnya