Tutorial: Menyiapkan aplikasi iOS/macOS Anda untuk autentikasi asli
Berlaku untuk: iOS (Swift) macOS (Swift)
Tutorial ini menunjukkan cara menambahkan kerangka kerja SDK autentikasi asli Microsoft Authentication Library (MSAL) ke aplikasi iOS/macOS Swift Anda.
Dalam tutorial ini, Anda mempelajari cara:
- Tambahkan kerangka kerja MSAL ke aplikasi iOS/macOS.
- Buat instans SDK.
Prasyarat
- Xcode
- Jika Anda belum melakukannya, ikuti instruksi di Memasukkan pengguna di contoh aplikasi seluler iOS (Swift) dengan menggunakan autentikasi asli dan daftarkan aplikasi di penyewa eksternal Anda. Pastikan Anda menyelesaikan langkah-langkah berikut:
- Daftarkan aplikasi.
- Aktifkan klien publik dan alur autentikasi asli.
- Berikan izin API.
- Membuat alur pengguna.
- Kaitkan aplikasi dengan alur pengguna.
- Proyek iOS/macOS
Menambahkan kerangka kerja MSAL ke aplikasi iOS/macOS
- Buka proyek iOS/macOS Anda di Xcode.
- Pilih Tambahkan Dependensi Paket... dari menu File .
- Masukkan
https://github.com/AzureAD/microsoft-authentication-library-for-objc
sebagai URL Paket dan pilih Tambahkan Paket. - Tambahkan grup rantai kunci baru ke Kemampuan proyek Anda. Gunakan
com.microsoft.adalcache
di iOS dancom.microsoft.identity.universalstorage
di macOS.
Untuk informasi selengkapnya dan mekanisme lain untuk menambahkan MSAL ke proyek Anda, lihat file Readme proyek.
Membuat instans SDK
Impor pustaka MSAL ke pengontrol tampilan Anda dengan menambahkan
import MSAL
di bagian atas kelas AndaViewController
.nativeAuth
Tambahkan variabel anggota ke kelas AndaViewController
dengan menambahkan kode berikut tepat sebelumviewDidLoad()
fungsi:var nativeAuth: MSALNativeAuthPublicClientApplication!
Selanjutnya, tambahkan kode berikut ke
viewDidLoad()
fungsi :do { nativeAuth = try MSALNativeAuthPublicClientApplication( clientId: "Enter_the_Application_Id_Here", tenantSubdomain: "Enter_the_Tenant_Subdomain_Here", challengeTypes: [.OOB] ) print("Initialized Native Auth successfully.") } catch { print("Unable to initialize MSAL \(error)") }
Ganti nilai berikut dengan nilai dari pusat admin Microsoft Entra:
Enter_the_Application_Id_Here
Temukan nilai dan ganti dengan ID Aplikasi (klien) aplikasi yang Anda daftarkan sebelumnya.Enter_the_Tenant_Subdomain_Here
Temukan dan ganti dengan subdomain Direktori (penyewa). Misalnya, jika domain utama penyewa Anda adalahcontoso.onmicrosoft.com
, gunakancontoso
. Jika Anda tidak memiliki subdomain Direktori (penyewa), pelajari cara membaca detail penyewa Anda.Jenis tantangan adalah daftar nilai, yang digunakan aplikasi untuk memberi tahu Microsoft Entra tentang metode autentikasi yang didukungnya.
- Untuk alur pendaftaran dan masuk dengan kode akses satu kali email, gunakan
[.OOB]
. - Untuk alur pendaftaran dan masuk dengan email dan kata sandi, gunakan
[.OOB, .password]
. - Untuk pengaturan ulang kata sandi mandiri (SSPR), gunakan
[.OOB]
.
Pelajari lebih lanjut jenis tantangan.
- Untuk alur pendaftaran dan masuk dengan kode akses satu kali email, gunakan
Untuk membuat, pilih Build Produk>di toolbar proyek Anda.
Opsional: Konfigurasi pengelogan
MSAL menyediakan API pengelogan yang dapat Anda gunakan untuk mengaktifkan dan mengonfigurasi pengelogan. Untuk melihat semua output debug dari MSAL, tambahkan kode berikut di awal viewDidLoad()
fungsi:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
Ini menghasilkan semua log debug dari MSAL, yang dapat membantu dalam mendiagnosis masalah dan mempelajari cara kerja alur autentikasi asli. Untuk mempelajari selengkapnya tentang mengonfigurasi tingkat log dan praktik terbaik, lihat Pengelogan di MSAL untuk iOS/macOS.