Autentikasi kustom di Azure Static Web Apps

Azure Static Web Apps menyediakan autentikasi terkelola yang menggunakan pendaftaran penyedia yang dikelola oleh Azure. Untuk memungkinkan fleksibilitas yang lebih terhadap pendaftaran, Anda dapat mengganti default dengan pendaftaran kustom.

  • Autentikasi kustom juga memungkinkan Anda mengonfigurasi penyedia kustom yang mendukung OpenID Connect. Konfigurasi ini memungkinkan pendaftaran beberapa penyedia eksternal.

  • Menggunakan pendaftaran kustom apa pun akan menonaktifkan semua penyedia yang telah dikonfigurasi sebelumnya.

Catatan

Autentikasi kustom hanya tersedia dalam paket Azure Static Web Apps Standard.

Mengonfigurasi penyedia identitas kustom

Penyedia identitas kustom dikonfigurasi di bagian auth dari file konfigurasi.

Untuk menghindari menempatkan rahasia dalam kontrol sumber, konfigurasi memeriksa pengaturan aplikasi untuk mencari nama yang cocok dalam file konfigurasi. Anda juga dapat memilih untuk menyimpan rahasia Anda di Azure Key Vault.

Untuk membuat pendaftaran, mulailah dengan membuat pengaturan aplikasi berikut:

Nama Pengaturan Nilai
AZURE_CLIENT_ID ID Aplikasi (klien) pendaftaran aplikasi Azure Active Directory.
AZURE_CLIENT_SECRET Rahasia klien pendaftaran Aplikasi Azure Active Directory.

Selanjutnya, gunakan sampel berikut untuk mengonfigurasi penyedia di file konfigurasi.

Penyedia Azure Active Directory tersedia dalam dua versi yang berbeda. Versi 1 secara eksplisit mendefinisikan userDetailsClaim, yang memungkinkan payload agar menampilkan informasi pengguna. Sebaliknya, versi 2 menampilkan informasi pengguna secara default, dan ditunjuk oleh v2.0 di URL openIdIssuer.

Versi 1 Azure Active Directory

{
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {
        "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>",
          "clientIdSettingName": "AZURE_CLIENT_ID",
          "clientSecretSettingName": "AZURE_CLIENT_SECRET"
        }
      }
    }
  }
}

Pastikan untuk mengganti <TENANT_ID> dengan ID penyewa Azure Active Directory Anda.

Versi 2 Azure Active Directory

{
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>/v2.0",
          "clientIdSettingName": "AZURE_CLIENT_ID",
          "clientSecretSettingName": "AZURE_CLIENT_SECRET"
        }
      }
    }
  }
}

Pastikan untuk mengganti <TENANT_ID> dengan ID penyewa Azure Active Directory Anda.

Untuk informasi selengkapnya tentang cara mengonfigurasi Azure Active Directory, lihat dokumentasi Autentikasi/Otorisasi App Service aktif menggunakan pendaftaran yang ada.

Untuk mengonfigurasi akun mana yang dapat masuk, lihat Mengubah akun yang didukung oleh aplikasi dan Membatasi aplikasi Azure AD Anda ke sekumpulan pengguna di penyewa Azure AD.

Catatan

Sementara bagian konfigurasi untuk Azure Active Directory adalah azureActiveDirectory, platform memberikan alias pada konfigurasi tersebut ke aad dalam URL untuk masuk, keluar dan membersihkan informasi pengguna. Lihat bagian autentikasi dan otorisasi untuk informasi selengkapnya.

Panggilan balik autentikasi

Penyedia identitas memerlukan URL pengalihan untuk menyelesaikan permintaan masuk atau keluar. Sebagian besar penyedia mengharuskan Anda menambahkan URL panggilan balik ke daftar izin. Titik akhir berikut ini tersedia sebagai tujuan pengalihan.

Jenis Pola URL
Masuk https://<YOUR_SITE>/.auth/login/<PROVIDER_NAME_IN_CONFIG>/callback
Keluar https://<YOUR_SITE>/.auth/logout/<PROVIDER_NAME_IN_CONFIG>/callback

Jika Anda menggunakan Azure Active Directory, gunakan aad sebagai nilai untuk tempat penampung <PROVIDER_NAME_IN_CONFIG>.

Catatan

URL ini disediakan oleh Azure Static Web Apps untuk menerima respons dari penyedia autentikasi, Anda tidak perlu membuat halaman di rute ini.

Rincian masuk, keluar, dan pengguna

Untuk menggunakan penyedia identitas kustom, gunakan pola URL berikut.

Tindakan Pola
Masuk /.auth/login/<PROVIDER_NAME_IN_CONFIG>
Keluar /.auth/logout
Detail pengguna /.auth/me
Menghapus detail pengguna secara menyeluruh /.auth/purge/<PROVIDER_NAME_IN_CONFIG>

Jika Anda menggunakan Azure Active Directory, gunakan aad sebagai nilai untuk tempat penampung <PROVIDER_NAME_IN_CONFIG>.

Langkah berikutnya