Dalam Artikel ini, kita akan membahas cara membuat kebijakan identitas Azure AD B2C yang mengintegrasikan penyedia identitas QQ. Kebijakan identitas B2C adalah suatu konfigurasi yang memungkinkan pengguna untuk mendaftar atau masuk dengan berbagai akun sosial dan email.
Membuat Technical Profile
Pertama, kita perlu membuat technical profile baru untuk kebijakan identitas B2C. Buat file TrustFramework.xml
baru dan tambahkan kode berikut:
<ClaimsProvider>
<Schema>
...
</Schema>
<TechnicalProfiles>
<TechnicalProfile Id="QQ-OAuth2">
<DisplayName>QQ OAuth2</DisplayName>
<Protocol Name="OpenIDConnect" />
<MetadataItem Name="client_id" Value="[Client ID]" />
<OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
<OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
<OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
<OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Ganti [Client ID]
dengan aplikasi ID yang terdaftar di QQ.
Membuat User Journey
Selanjutnya, kita perlu membuat user journey baru yang akan menggunakan technical profile yang kita buat sebelumnya. Buka file TrustFrameworkBase.xml
dari starter pack dan temukan elemen <UserJourney>
dengan Id="SignUpOrSignIn". Salin isi elemen tersebut dan tempelkan ke dalam file TrustFrameworkExtensions.xml
di bawah elemen <UserJourneys>
.
Menambahkan Penyedia Identitas
Sekarang, kita perlu menambahkan penyedia identitas QQ ke user journey. Temukan elemen orchestration step dengan tipe "CombinedSignInAndSignUp" atau "ClaimsProviderSelection" dan tambahkan elemen <ClaimsProviderSelection>
dengan nilai TargetClaimsExchangeId
yang sesuai.
Kemudian, tambahkan elemen <ClaimsExchange>
dengan Id yang sama dengan nilai TargetClaimsExchangeId
sebelumnya dan nilai TechnicalProfileReferenceId
yang menunjuk ke technical profile yang kita buat sebelumnya.
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="QQExchange" />
</ClaimsProviderSelections>
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="QQExchange" TechnicalProfileReferenceId="QQ-OAuth2" />
</ClaimsExchanges>
</OrchestrationStep>
Konfigurasi Relying Party Policy
Selanjutnya, kita perlu konfigurasi relying party policy yang akan menggunakan user journey yang kita buat sebelumnya. Buka file SignUpSignIn.xml
dan temukan elemen <DefaultUserJourney>
dengan nilai ReferenceId yang sesuai.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
</RelyingParty>
Mengunggah Kebijakan Identitas
Akhirnya, kita perlu mengunggah kebijakan identitas B2C yang kita buat sebelumnya. Buat sign in ke Azure portal dan pilih direktori yang berisi tenant Azure AD B2C. Pilih "Identity Experience Framework" di bawah "Policies" dan upload file TrustFrameworkExtensions.xml
dan SignUpSignIn.xml
yang kita edit sebelumnya.
Menguji Kebijakan Identitas
Sekarang, kita perlu menguji kebijakan identitas B2C yang kita buat. Pilih policy yang kita upload sebelumnya dan pilih aplikasi web yang kita terdaftar. Kemudian, pilih "Run now" dan masuk dengan akun QQ Anda.
Jika proses sign-in berhasil, Anda akan diarahkan ke https://jwt.ms, yang menampilkan isi token yang dikembalikan oleh Azure AD B2C.