Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pustaka Autentikasi Microsoft (MSAL) untuk Android adalah pustaka yang memungkinkan aplikasi Android mengautentikasi pengguna dengan platform identitas Microsoft (sebelumnya Azure Active Directory) dan mengakses API web yang dilindungi menggunakan protokol OAuth2 dan OpenID Connect. MSAL Android memungkinkan pengembang untuk memperoleh token keamanan dari platform identitas Microsoft untuk mengautentikasi pengguna dan mengakses API web yang aman untuk aplikasi berbasis Android mereka.
MSAL Android mendukung beberapa skenario autentikasi, seperti akses menyeluruh (SSO), akses bersyarat, dan autentikasi broker. Ini memungkinkan Anda untuk dengan mudah menargetkan beberapa identitas termasuk Microsoft Entra ID (akun Kantor dan Sekolah), Akun Microsoft (Outlook.com, hotmail.com, dan beberapa lainnya), atau Azure AD B2C (akun Sosial dan Lokal).
Panduan di sini dimaksudkan untuk mendokumen fungsionalitas umum yang terkait dengan MSAL Android. Jika Anda mencari bantuan lainnya untuk mulai menggunakan Microsoft Entra ID, akun Microsoft, atau Azure AD B2C, lihat dokumen platform identitas Microsoft. Jika Anda mencari info selengkapnya tentang API Microsoft Graph, lihat dokumen Microsoft Graph.
Dukungan autentikasi asli di MSAL
MSAL Android juga memungkinkan Anda menerapkan pengalaman autentikasi asli dengan alur end-to-end yang dapat disesuaikan dalam aplikasi seluler. Dengan autentikasi asli, pengguna dipandu melalui perjalanan pendaftaran dan masuk yang kaya, asli, dan mengutamakan seluler tanpa meninggalkan aplikasi. Fitur autentikasi asli hanya tersedia untuk aplikasi seluler di ID Eksternal untuk pelanggan.
Migrasi dari Pustaka Autentikasi Azure Active Directory (ADAL)
Pustaka Autentikasi Azure Active Directory (ADAL) untuk Android telah ditolak berlaku mulai Juni 2023. Jika Anda atau organisasi Anda menggunakan Azure Active Directory Authentication Library (ADAL) untuk Android, Anda harus bermigrasi ke MSAL Android untuk menghindari risiko keamanan aplikasi Anda. Pustaka Autentikasi Microsoft (MSAL) untuk Android adalah pustaka yang didukung yang dapat digunakan untuk autentikasi dan akuisisi token.
Mulai menggunakan MSAL Android
Untuk menggunakan MSAL Android di aplikasi, Anda perlu:
- Daftarkan aplikasi Anda dengan Microsoft Entra ID.
- Pelajari tentang jenis aplikasi klien: klien publik dan klien rahasia.
Karena MSAL Android mendukung pengalaman autentikasi yang didelegasikan browser dan asli, ikuti langkah-langkah dalam tutorial berikut berdasarkan skenario Anda.
Untuk skenario autentikasi yang didelegasikan browser, lihat mulai cepat, Pengguna masuk, dan panggil Microsoft Graph dari aplikasi Android.
Untuk skenario autentikasi asli, lihat panduan sampel Microsoft Entra External ID, Tutorial: Menyiapkan aplikasi Android Anda untuk autentikasi asli.
Requirements
- Min SDK Versi 16+
- Target SDK Versi 33+
Langkah 1: Menyatakan dependensi pada MSAL
Tambahkan ke build.gradle aplikasi Anda:
dependencies {
implementation 'com.microsoft.identity.client:msal:4.9.+'
}
Tambahkan juga baris berikut ke bagian repositori Anda di skrip gradien Anda:
maven {
url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
}
Langkah 2: Buat file konfigurasi MSAL Anda
Autentikasi yang didelegasikan browser:
Buat file konfigurasi Anda sebagai sumber daya "mentah" di proyek Anda. Lihat menggunakan pengidentifikasi sumber daya yang dihasilkan saat membuat PublicClientApplication instans. Jika mendaftarkan aplikasi di pusat admin Microsoft Entra untuk pertama kalinya, Anda juga akan diberikan file konfigurasi MSAL Android terperinci
{
"client_id" : "<YOUR_CLIENT_ID>",
"redirect_uri" : "msauth://<YOUR_PACKAGE_NAME>/<YOUR_BASE64_URL_ENCODED_PACKAGE_SIGNATURE>",
"broker_redirect_uri_registered": true,
}
redirect_uriDalam , <YOUR_PACKAGE_NAME> mengacu pada nama paket yang dikembalikan oleh context.getPackageName() metode . Nama paket ini sama dengan yang application_id ditentukan dalam file Anda build.gradle .
Nilai di atas adalah konfigurasi minimum yang diperlukan. MSAL bergantung pada default yang dikirim dengan pustaka untuk semua pengaturan lainnya. Lihat dokumentasi file konfigurasi Android MSAL untuk memahami default pustaka.
Autentikasi asli:
- Klik kanan res dan pilih Direktori Baru > . Masukkan mentah sebagai nama direktori baru dan pilih OK.
- Di folder baru ini (app > src > main > res > raw), buat file JSON baru yang disebut auth_config_native_auth.json dan tempelkan Konfigurasi MSAL templat berikut:
{
"client_id": "Enter_the_Application_Id_Here",
"authorities": [
{
"type": "CIAM",
"authority_url": "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/Enter_the_Tenant_Subdomain_Here.onmicrosoft.com/"
}
],
"challenge_types": ["oob"],
"logging": {
"pii_enabled": false,
"log_level": "INFO",
"logcat_enabled": true
}
}
Langkah 3: Mengonfigurasi AndroidManifest.xml untuk autentikasi yang didelegasikan browser
- Minta izin berikut melalui Manifes Android
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- Mengonfigurasi filter niat di Manifes Android, menggunakan URI pengalihan Anda
Kegagalan untuk menyertakan filter niat yang cocok dengan URI pengalihan yang Anda tentukan melalui konfigurasi akan mengakibatkan permintaan token interaktif yang gagal.
<!--Intent filter to capture authorization code response from the default browser on the device calling back to our app after interactive sign in -->
<activity
android:name="com.microsoft.identity.client.BrowserTabActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="msauth"
android:host="<YOUR_PACKAGE_NAME>"
android:path="/<YOUR_BASE64_ENCODED_PACKAGE_SIGNATURE>" />
</intent-filter>
</activity>
Anda dapat merujuk ke FAQ MSAL Android untuk informasi selengkapnya tentang masalah uri pengalihan umum.
ProGuard
MSAL menggunakan informasi refleksi dan jenis generik yang disimpan dalam .class file saat runtime untuk mendukung berbagai fungsi terkait persistensi dan serialisasi. Dukungan pustaka untuk minifikasi dan obfuscation terbatas. Konfigurasi default dikirim dengan pustaka ini; silakan ajukan masalah jika Anda menemukan masalah.
Recommendation
MSAL adalah pustaka keamanan. Ini mengontrol cara pengguna masuk dan mengakses layanan. Kami sarankan Anda selalu mengambil versi terbaru pustaka kami di aplikasi Anda saat Anda bisa. Kami menggunakan penerapan versi semantik sehingga Anda dapat mengontrol risiko pembaruan aplikasi Anda. Misalnya, selalu mengunduh nomor versi minor terbaru (misalnya x.y.x) memastikan Anda mendapatkan keamanan terbaru dan enhanemen fitur dengan jaminan bahwa area permukaan API kami tidak berubah. Anda selalu dapat melihat versi terbaru dan catatan rilis di bawah tab Rilis GitHub.