Membuat Kebijakan Identitas B2C dengan QQ sebagai Penyedia Identitas

Membuat Kebijakan Identitas B2C dengan QQ sebagai Penyedia Identitas

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.