Bagikan melalui


Tutorial: Menyiapkan aplikasi Android (Kotlin) Anda untuk autentikasi

Ini adalah tutorial kedua dalam seri tutorial yang menunjukkan cara menambahkan Microsoft Authentication Library (MSAL) untuk Android ke aplikasi Android (Kotlin) Anda. MSAL memungkinkan aplikasi Android untuk mengautentikasi pengguna dengan Microsoft Entra.

Dalam tutorial ini, Anda akan:

  • Tambahkan dependensi MSAL.
  • Tambahkan Konfigurasi.

Prasyarat

Menambahkan dependensi MSAL

Untuk menambahkan dependensi MSAL di proyek Android Anda, ikuti langkah-langkah berikut:

  1. Buka proyek Anda di Android Studio atau buat proyek baru.

  2. Buka aplikasi build.gradle Anda dan tambahkan dependensi berikut:

    allprojects {
    repositories {
        //Needed for com.microsoft.device.display:display-mask library
        maven {
            url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
            name 'Duo-SDK-Feed'
        }
        mavenCentral()
        google()
        }
    }
    //...
    
    dependencies { 
        implementation 'com.microsoft.identity.client:msal:5.+'
        //...
    }
    

    build.gradle Dalam konfigurasi, repositori didefinisikan untuk dependensi proyek. Ini termasuk URL repositori Maven untuk com.microsoft.device.display:display-mask pustaka dari Azure DevOps. Selain itu, ia menggunakan repositori Maven Central dan Google. Bagian dependensi menentukan implementasi MSAL versi 5 dan kemungkinan dependensi lainnya.

  3. Di Android Studio, pilih File>Sync Project dengan Gradle Files.

Menambahkan konfigurasi

Anda meneruskan pengidentifikasi penyewa yang diperlukan, seperti ID aplikasi (klien), ke MSAL SDK melalui pengaturan konfigurasi JSON.

Gunakan langkah-langkah ini untuk membuat file konfigurasi:

  1. Di panel proyek Android Studio, buka app\src\main\res.

  2. Klik kanan res dan pilih Direktori Baru>. Masukkan raw sebagai nama direktori baru dan pilih OK.

  3. Di app\src\main\res\raw, buat file JSON baru yang disebut auth_config_ciam_auth.json.

  4. auth_config_ciam_auth.json Dalam file, tambahkan konfigurasi MSAL berikut:

    {
      "client_id" : "Enter_the_Application_Id_Here",
      "authorization_user_agent" : "DEFAULT",
      "redirect_uri" : "Enter_the_Redirect_Uri_Here",
      "account_mode" : "SINGLE",
      "authorities" : [
        {
          "type": "CIAM",
          "authority_url": "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/Enter_the_Tenant_Subdomain_Here.onmicrosoft.com/"
        }
      ]
    }
    

    File konfigurasi JSON menentukan berbagai pengaturan untuk aplikasi Android. Ini termasuk ID klien, agen pengguna otorisasi, URI pengalihan, dan mode akun. Selain itu, ini mendefinisikan otoritas untuk autentikasi, menentukan jenis dan URL otoritas.

    Ganti tempat penampung berikut dengan nilai penyewa yang Anda peroleh dari pusat admin Microsoft Entra:

    • Enter_the_Application_Id_Here dan ganti dengan ID Aplikasi (klien) aplikasi yang Anda daftarkan sebelumnya.
    • Enter_the_Redirect_Uri_Here dan ganti dengan nilai redirect_uri dalam file konfigurasi Microsoft Authentication Library (MSAL) yang Anda unduh sebelumnya saat menambahkan URL pengalihan platform.
    • Enter_the_Tenant_Subdomain_Here dan ganti dengan subdomain Direktori (penyewa). Misalnya, jika domain utama penyewa Anda adalah contoso.onmicrosoft.com, gunakan contoso. Jika Anda tidak mengetahui subdomain penyewa Anda, pelajari cara membaca detail penyewa Anda.
  5. Buka file /app/src/main/AndroidManifest.xml .

  6. Di AndroidManifest.xml, tambahkan spesifikasi data berikut ke filter niat:

    <data
        android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE"
        android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE"
        android:scheme="msauth" />
    

    Temukan tempat penampung:

    • ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE dan ganti dengan nama paket proyek Android Anda.
    • ENTER_YOUR_SIGNATURE_HASH_HERE dan ganti dengan Hash Tanda Tangan yang Anda buat sebelumnya saat menambahkan URL pengalihan platform.

Menggunakan domain URL kustom (Opsional)

Gunakan domain kustom untuk sepenuhnya memberi merek URL autentikasi. Dari perspektif pengguna, pengguna tetap berada di domain Anda selama proses autentikasi, daripada dialihkan ke nama domain ciamlogin.com .

Gunakan langkah-langkah berikut untuk menggunakan domain kustom:

  1. Gunakan langkah-langkah dalam Mengaktifkan domain URL kustom untuk aplikasi di penyewa eksternal untuk mengaktifkan domain URL kustom untuk penyewa eksternal Anda.

  2. Buka file auth_config_ciam_auth.json :

    1. Perbarui nilai properti ke authority_url https://Enter_the_Custom_Domain_Here/Enter_the_Tenant_ID_Here. Ganti Enter_the_Custom_Domain_Here dengan domain URL kustom Anda dan Enter_the_Tenant_ID_Here dengan ID penyewa Anda. Jika Anda tidak memiliki ID penyewa, pelajari cara membaca detail penyewa Anda.
    2. Tambahkan knownAuthorities properti dengan nilai [Enter_the_Custom_Domain_Here].

Setelah Anda membuat perubahan pada file auth_config_ciam_auth.json Anda, jika domain URL kustom Anda login.contoso.com, dan ID penyewa Anda adalah aaaabbbb-0000-cc-1111-dddd2222eeee, maka file Anda akan terlihat mirip dengan cuplikan berikut:

{
    "client_id" : "Enter_the_Application_Id_Here",
    "authorization_user_agent" : "DEFAULT",
    "redirect_uri" : "Enter_the_Redirect_Uri_Here",
    "account_mode" : "SINGLE",
    "authorities" : [
    {
        "type": "CIAM",
        "authority_url": "https://login.contoso.com/aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "knownAuthorities": ["login.contoso.com"]
    }
    ]
}

Membuat instans MSAL SDK

Untuk menginisialisasi instans MSAL SDK, gunakan kode berikut:

private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
    return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
        this@MainActivity,
        R.raw.auth_config_ciam_auth
    )
}

Kode ini menginisialisasi aplikasi klien publik satu akun secara asinkron. Ini menggunakan file konfigurasi autentikasi yang disediakan dan berjalan pada dispatcher I/O.

Pastikan Anda menyertakan pernyataan impor. Android Studio harus menyertakan pernyataan impor untuk Anda secara otomatis.

Langkah berikutnya

Tutorial: Memasukkan pengguna di aplikasi seluler Android (Kotlin)