Bagikan melalui


Menyiapkan pendaftaran dan masuk dengan ID Apple menggunakan Azure Active Directory B2C

Penting

Berlaku mulai 1 Mei 2025, Azure AD B2C tidak akan lagi tersedia untuk dibeli untuk pelanggan baru. Pelajari lebih lanjut di FAQ kami.

Sebelum memulai, gunakan pemilih Pilih jenis kebijakan di bagian atas halaman ini untuk memilih jenis kebijakan yang Anda siapkan. Azure Active Directory B2C menawarkan dua metode untuk menentukan cara pengguna berinteraksi dengan aplikasi Anda: melalui alur pengguna yang telah ditentukan sebelumnya atau melalui kebijakan kustom yang sepenuhnya dapat dikonfigurasi. Langkah yang diperlukan dalam artikel ini berbeda untuk setiap metode.

Nota

Di Azure Active Directory B2C, kebijakan kustom didesain khusus untuk menangani skenario kompleks. Untuk skenario umum, sebaiknya gunakan alur pengguna bawaan. Jika Anda belum melakukannya, pelajari tentang paket starter kebijakan kustom di Mulai dengan kebijakan kustom di Azure Active Directory B2C.

Prasyarat

Membuat aplikasi ID Apple

Untuk mengaktifkan masuk bagi pengguna dengan ID Apple di Azure Active Directory B2C (Azure AD B2C), Anda perlu membuat aplikasi di https://developer.apple.com. Untuk informasi selengkapnya, lihat Masuk dengan Apple. Jika Anda belum memiliki akun pengembang Apple, Anda dapat mendaftar di Program Pengembang Apple.

  1. Masuk ke Portal Pengembang Apple dengan kredensial akun Anda.
  2. Dari menu, pilih Sertifikat, ID, & Profil, lalu pilih (+).
  3. Untuk Daftarkan Pengidentifikasi Baru, pilih ID Aplikasi, lalu pilih Lanjutkan.
  4. Untuk Pilih jenis, pilih Aplikasi, lalu pilih Lanjutkan.
  5. Untuk Mendaftarkan ID Aplikasi:
    1. Masukkan Deskripsi
    2. Masukkan ID Bundel, seperti com.contoso.azure-ad-b2c.
    3. Untuk Kemampuan, pilih Masuk dengan Apple dari daftar kemampuan.
    4. Catat ID Tim Anda (Awalan ID Aplikasi) dari langkah ini. Anda akan membutuhkannya nanti.
    5. Pilih Lanjutkan lalu Daftarkan.
  6. Dari menu, pilih Sertifikat, ID, & Profil, lalu pilih (+).
  7. Untuk Daftarkan Pengidentifikasi Baru, pilih ID Layanan, lalu pilih Lanjutkan.
  8. Untuk Mendaftarkan ID Layanan:
    1. Masukkan Deskripsi. Deskripsi ditampilkan kepada pengguna di layar persetujuan.
    2. Masukkan Pengidentifikasi , seperti, com.consoto.azure-ad-b2c-service. Catat pengidentifikasi ID Layanan Anda. Pengidentifikasi adalah ID Klien Anda untuk alur OpenID Connect.
    3. Pilih Lanjutkan, lalu pilih Daftarkan.
  9. Dari Pengidentifikasi, pilih pengidentifikasi yang Anda buat.
  10. Pilih Masuk dengan Apple, lalu pilih Konfigurasikan.
    1. Pilih ID Aplikasi Utama yang ingin Anda konfigurasi masuk dengan Apple.
    2. Di Domain dan Subdomain, masukkan your-tenant-name.b2clogin.com. Ganti "your-tenant-name" dengan nama penyewa Anda. Jika Anda menggunakan domain kustom, masukkan https://your-domain-name.
    3. Di URL Pengembalian, masukkan https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Jika Anda menggunakan domain kustom, masukkan https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Ganti your-tenant-name dengan nama penyewa Anda, dan your-domain-name dengan domain kustom Anda. URL Pengembalian harus dalam huruf kecil semua.
    4. Pilih Berikutnya, lalu pilih Selesai.
    5. Saat jendela pop-up ditutup, pilih Lanjutkan, lalu pilih Simpan.

Membuat rahasia klien Apple

  1. Dari menu portal Pengembang Apple, pilih Kunci , lalu pilih (+).
  2. Untuk Mendaftarkan Kunci Baru:
    1. Ketik nama kunci .
    2. Pilih Masuk dengan Apple, lalu pilih Konfigurasikan.
    3. Untuk ID Aplikasi Utama, pilih aplikasi yang Anda buat sebelumnya, dan pilih Simpan.
    4. Pilih Konfigurasikan, lalu pilih Daftar untuk menyelesaikan proses pendaftaran kunci. Perhatikan ID Kunci . Kunci ini diperlukan saat Anda mengonfigurasi alur pengguna.
  3. Untuk Unduh Kunci Anda, pilih Unduh untuk mengunduh file .p8 yang berisi kunci Anda.

Mengonfigurasi Apple sebagai penyedia identitas

  1. Masuk ke portal Microsoft Azure dengan akun yang memiliki setidaknya hak istimewa Administrator Penyedia Identitas Eksternal .
  2. Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan .
  3. Di bawah layanan Azure, pilih Azure AD B2C. Atau gunakan kotak pencarian untuk menemukan dan memilih Azure AD B2C.
  4. Pilih Penyedia identitas, lalu pilih Apple.
  5. Untuk Nama, masukkan Masuk dengan Apple.
  6. Masukkan ID pengembang Apple (ID Tim).
  7. Masukkan ID layanan Apple (ID Klien).
  8. Masukkan ID kunci Apple dari langkah Membuat rahasia klien Apple.
  9. Pilih dan unggah data sertifikat Apple.
  10. Pilih Simpan.

Penting

  • Masuk dengan Apple mengharuskan Admin memperbarui rahasia klien mereka setiap 6 bulan.
  • Rahasia klien Apple akan diperpanjang secara otomatis saat kedaluwarsa. Jika Anda perlu memperbarui rahasia secara manual, buka Azure AD B2C di portal Microsoft Azure, buka Penyedia> identitasApple, dan pilih Perbarui rahasia.
  • Ikuti panduan cara menawarkan tombol Masuk dengan Apple.

Menambahkan penyedia identitas Apple ke alur pengguna

Untuk memungkinkan pengguna masuk menggunakan ID Apple, Anda perlu menambahkan penyedia identitas Apple ke aliran pengguna. Masuk menggunakan Apple hanya dapat dikonfigurasi untuk versi alur pengguna yang direkomendasikan. Untuk menambahkan penyedia identitas Apple ke dalam alur pengguna:

  1. Pada tenant Azure AD B2C Anda, pilih Alur pengguna.
  2. Pilih alur pengguna di mana Anda ingin menambahkan penyedia identitas Apple.
  3. Di bawah Penyedia identitas sosial, pilih Apple.
  4. Pilih Simpan.
  5. Untuk menguji kebijakan Anda, pilih Jalankan alur pengguna.
  6. Untuk Aplikasi, pilih aplikasi web bernama testapp1 yang sebelumnya Anda daftarkan. URL Balasan harus menunjukkan https://jwt.ms.
  7. Klik tombol Jalankan alur pengguna.
  8. Dari halaman pendaftaran atau masuk, pilih Apple untuk masuk dengan ID Apple.

Jika proses masuk berhasil, browser Anda dialihkan ke https://jwt.ms, yang menampilkan konten token yang dikembalikan oleh Azure AD B2C.

Menandatangani rahasia klien

Gunakan file .p8 yang Anda unduh sebelumnya untuk menandatangani rahasia klien ke JWT. Ada banyak pustaka yang dapat membuat dan menandatangani JWT untuk Anda. Gunakan Azure Function yang membuat token untuk Anda.

  1. Membuat Azure Function.

  2. Di bawah Pengembang, pilih Kode + Uji.

  3. Salin konten file run.csx , dan tempelkan di editor.

  4. Pilih Simpan.

  5. Buat permintaan HTTP POST , dan berikan informasi berikut:

    • appleTeamId: ID Tim Pengembang Apple Anda
    • appleServiceId: ID Layanan Apple (ID klien)
    • appleKeyId: ID Kunci 10 digit yang disimpan di Header JWT (diperlukan oleh Apple)
    • p8key: Kunci format PEM. Anda dapat memperoleh ini dengan membuka file .p8 di editor teks dan menyalin semuanya antara -----BEGIN PRIVATE KEY----- dan -----END PRIVATE KEY----- tanpa hentian baris.

Json berikut adalah contoh panggilan ke fungsi Azure:

{
    "appleTeamId": "ABC123DEFG",
    "appleServiceId": "com.yourcompany.app1",
    "appleKeyId": "URKEYID001",
    "p8key": "MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg+s07NiAcuGEu8rxsJBG7ttupF6FRe3bXdHxEipuyK82gCgYIKoZIzj0DAQehRANCAAQnR1W/KbbaihTQayXH3tuAXA8Aei7u7Ij5OdRy6clOgBeRBPy1miObKYVx3ki1msjjG2uGqRbrc1LvjLHINWRD"
}

Fungsi Azure merespons dengan memberikan JWT rahasia klien yang diformat dan ditandatangani dengan benar, misalnya:

{
    "token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjb20ueW91cmNvbXBhbnkuYXBwMSIsIm5iZiI6MTU2MDI2OTY3NSwiZXhwIjoxNTYwMzU2MDc1LCJpc3MiOiJBQkMxMjNERUZHIiwiYXVkIjoiaHR0cHM6Ly9hcHBsZWlkLmFwcGxlLmNvbSJ9.Dt9qA9NmJ_mk6tOqbsuTmfBrQLFqc9BnSVKR6A-bf9TcTft2XmhWaVODr7Q9w1PP3QOYShFXAnNql5OdNebB4g"
}

Membuat kunci kebijakan

Anda perlu menyimpan kunci rahasia klien yang telah Anda catat sebelumnya di penyewa Azure AD B2C Anda.

  1. Masuk ke portal Azure.
  2. Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan .
  3. Di bawah layanan Azure, pilih Azure AD B2C. Atau gunakan kotak pencarian untuk menemukan dan memilih Azure AD B2C.
  4. Pada halaman Gambaran Umum , pilih Kerangka Kerja Pengalaman Identitas.
  5. Pilih Kunci Kebijakan, lalu pilih Tambahkan.
  6. Untuk Opsi, pilih Manual.
  7. Masukkan Nama untuk kunci kebijakan. Misalnya, "AppleSecret". Awalan "B2C_1A_" ditambahkan secara otomatis ke nama kunci Anda.
  8. Di Rahasia, masukkan nilai token yang dikembalikan oleh Azure Function (JWT).
  9. Untuk Penggunaan kunci, pilih Tanda Tangan.
  10. Pilih Buat.

Penting

  • Masuk dengan Apple mengharuskan Admin memperbarui rahasia klien mereka setiap 6 bulan.
  • Anda harus memperbarui rahasia klien Apple secara manual jika kedaluwarsa dan menyimpan nilai baru di kunci kebijakan.
  • Kami sarankan Anda mengatur pengingat Anda sendiri dalam waktu 6 bulan untuk menghasilkan rahasia klien baru.
  • Ikuti panduan cara menawarkan tombol Masuk dengan Apple.

Mengonfigurasi Apple sebagai penyedia identitas

Untuk memungkinkan pengguna masuk menggunakan ID Apple, Anda perlu menentukan akun sebagai penyedia klaim yang dapat berkomunikasi dengan Azure AD B2C melalui titik akhir. Titik akhir menyediakan serangkaian klaim yang digunakan oleh Azure AD B2C untuk memverifikasi bahwa pengguna tertentu diautentikasi.

Anda dapat menentukan ID Apple sebagai penyedia klaim dengan menambahkannya ke elemen ClaimsProviders dalam file ekstensi kebijakan Anda.

  1. Buka TrustFrameworkExtensions.xml.

  2. Temukan elemen ClaimsProviders . Jika tidak ada, tambahkan di bawah elemen utama.

  3. Tambahkan ClaimsProvider baru sebagai berikut:

    <ClaimsProvider>
      <Domain>apple.com</Domain>
      <DisplayName>Apple</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Apple-OIDC">
          <DisplayName>Sign in with Apple</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="ProviderName">apple</Item>
            <Item Key="authorization_endpoint">https://appleid.apple.com/auth/authorize</Item>
            <Item Key="AccessTokenEndpoint">https://appleid.apple.com/auth/token</Item>
            <Item Key="JWKS">https://appleid.apple.com/auth/keys</Item>
            <Item Key="issuer">https://appleid.apple.com</Item>
            <Item Key="scope">name email openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="response_types">code</Item>
            <Item Key="external_user_identity_claim_id">sub</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="ReadBodyClaimsOnIdpRedirect">user.name.firstName user.name.lastName user.email</Item>
            <Item Key="client_id">You Apple ID</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_AppleSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="https://appleid.apple.com" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="user.name.firstName"/>
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="user.name.lastName"/>
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Atur client_id ke pengidentifikasi layanan. Contohnya, com.consoto.azure-ad-b2c-service.

  5. Simpan file tersebut.

Menambahkan perjalanan pengguna

Pada titik ini, penyedia identitas telah disiapkan, tetapi belum tersedia di salah satu halaman login. Jika Anda tidak memiliki perjalanan pengguna kustom Anda sendiri, buat duplikat perjalanan pengguna templat yang ada, jika tidak, lanjutkan ke langkah berikutnya.

  1. Buka file TrustFrameworkBase.xml dari paket pemula.
  2. Temukan dan salin seluruh konten elemen UserJourney yang menyertakan Id="SignUpOrSignIn".
  3. Buka TrustFrameworkExtensions.xml dan temukan elemen UserJourneys . Jika elemen tidak ada, tambahkan elemen.
  4. Tempelkan seluruh konten elemen UserJourney yang Anda salin sebagai anak dari elemen UserJourneys.
  5. Ganti nama Id perjalanan pengguna. Contohnya, Id="CustomSignUpSignIn".

Menambahkan Penyedia Identitas ke alur pengguna

Sekarang setelah Anda memiliki alur pengguna, tambahkan penyedia identitas baru ke alur pengguna. Anda terlebih dahulu menambahkan tombol masuk, lalu menautkan tombol ke tindakan. Tindakan tersebut adalah profil teknis yang telah Anda buat sebelumnya.

  1. Temukan elemen tahap orkestrasi yang menyertakan Type="CombinedSignInAndSignUp", atau Type="ClaimsProviderSelection" dalam perjalanan pengguna. Biasanya ini adalah langkah orkestrasi pertama. Elemen ClaimsProviderSelections berisi daftar penyedia identitas yang dapat digunakan pengguna untuk masuk. Urutan elemen mengontrol urutan tombol masuk yang disajikan kepada pengguna. Tambahkan elemen XML ClaimsProviderSelection . Atur nilai TargetClaimsExchangeId ke nama yang mudah diingat.

  2. Pada langkah orkestrasi berikutnya, tambahkan elemen ClaimsExchange . Atur Id ke nilai id pertukaran klaim target. Perbarui nilai TechnicalProfileReferenceId ke Id profil teknis yang Anda buat sebelumnya.

XML berikut menunjukkan dua langkah orkestrasi pertama perjalanan pengguna dengan penyedia identitas:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="AppleExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AppleExchange" TechnicalProfileReferenceId="Apple-OIDC" />
  </ClaimsExchanges>
</OrchestrationStep>

Mengonfigurasi kebijakan pihak terandal

Kebijakan pihak yang mengandalkan, misalnya SignUpSignIn.xml, menentukan perjalanan pengguna yang akan dijalankan Azure AD B2C. Temukan elemen DefaultUserJourney dalam pihak yang memercayai. Perbarui ReferenceId agar sesuai dengan ID perjalanan pengguna, di mana Anda menambahkan penyedia identitas.

Dalam contoh berikut, untuk CustomSignUpSignIn alur pengguna, ReferenceId ditentukan menjadi CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Mengunggah kebijakan kustom

  1. Masuk ke portal Azure.
  2. Pilih ikon Direktori + Langganan di toolbar portal, lalu pilih direktori yang berisi penyewa Azure AD B2C Anda.
  3. Di portal Microsoft Azure, cari dan pilih AAD B2C.
  4. Di bawah Kebijakan, pilih Kerangka Kerja Pengalaman Identitas.
  5. Pilih Unggah Kebijakan Kustom, lalu unggah dua file kebijakan yang Anda ubah, dalam urutan berikut: kebijakan ekstensi, misalnya TrustFrameworkExtensions.xml, lalu kebijakan pihak yang mengandalkan, seperti SignUpSignIn.xml.

Menguji kebijakan khusus Anda

  1. Pilih kebijakan pihak kepercayaan Anda, misalnya B2C_1A_signup_signin.
  2. Untuk Aplikasi , pilih aplikasi web yang sebelumnya Anda daftarkan . URL Balasan harus menunjukkan https://jwt.ms.
  3. Pilih tombol Jalankan sekarang.
  4. Dari halaman pendaftaran atau masuk, pilih Apple untuk masuk dengan ID Apple.

Jika proses masuk berhasil, browser Anda dialihkan ke https://jwt.ms, yang menampilkan konten token yang dikembalikan oleh Azure AD B2C.

Menyesuaikan antarmuka pengguna Anda

Ikuti panduan cara menawarkan Masuk dengan Apple. Apple menyediakan beberapa tombol Masuk dengan Apple yang dapat Anda gunakan untuk memungkinkan orang mengatur akun dan masuk. Jika perlu, buat tombol kustom untuk memungkinkan Masuk dengan Apple. Pelajari cara menampilkan tombol Masuk dengan Apple.

Untuk menyelaraskan dengan pedoman antarmuka pengguna Apple: