Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Android için Microsoft Authentication Library (MSAL), Android uygulamalarının Microsoft kimlik platformu (eski adı Azure Active Directory) ile kullanıcıların kimliğini doğrulamasını ve OAuth2 ve OpenID Connect protokollerini kullanarak korumalı web API'lerine erişmesini sağlayan bir kitaplıktır. MSAL Android, geliştiricilerin kullanıcıların kimliğini doğrulamak ve Android tabanlı uygulamaları için güvenli web API'lerine erişmek için Microsoft kimlik platformu güvenlik belirteçleri almasını sağlar.
MSAL Android çoklu oturum açma (SSO), koşullu erişim ve aracılı kimlik doğrulaması gibi birden çok kimlik doğrulama senaryolarını destekler. Microsoft Entra ID (İş ve Okul hesapları), Microsoft Hesapları (Outlook.com, hotmail.com ve daha birçok hesap) veya Azure AD B2C'yi (Sosyal ve Yerel hesaplar) dahil olmak üzere birden çok kimlik türünü kolayca hedeflemenizi sağlar.
Buradaki kılavuz, MSAL Android ile ilgili yaygın işlevleri belgelemeye yöneliktir. Microsoft Entra ID, Microsoft Hesapları veya Azure AD B2C ile çalışmaya başlama konusunda daha fazla yardım arıyorsanız Microsoft kimlik platformu belgelerine göz atın. Microsoft Graph API hakkında daha fazla bilgi arıyorsanız Microsoft Graph belgelerine göz atın.
MSAL'de yerel kimlik doğrulaması desteği
MSAL Android, mobil uygulamalarda uçtan uca özelleştirilebilir akışlarla yerel bir kimlik doğrulama deneyimi uygulamanıza da olanak tanır. Yerel kimlik doğrulaması ile kullanıcılar, uygulamadan çıkmadan zengin, yerel, mobil öncelikli kaydolma ve oturum açma yolculuğunda yönlendirilir. Yerel kimlik doğrulama özelliği yalnızca müşteriler için Dış Kimlik'te bulunan mobil uygulamalarda kullanılabilir.
Azure Active Directory Kimlik Doğrulama Kitaplığı'ndan (ADAL) geçiş
Android için Azure Active Directory Kimlik Doğrulama Kitaplığı (ADAL), Haziran 2023 tarihinden itibaren kullanımdan kaldırılmıştır. Siz veya kuruluşunuz Android için Azure Active Directory Kimlik Doğrulama Kitaplığı'nı (ADAL) kullanıyorsanız, uygulamanızın güvenliğini riske atmamak için MSAL Android'e geçiş yapmalısınız. Android için Microsoft Authentication Library (MSAL), kimlik doğrulaması ve belirteç alımı için kullanılabilecek desteklenen kitaplıktır.
MSAL Android'i kullanmaya başlama
Uygulamanızda MSAL Android'i kullanmak için şunları yapmanız gerekir:
- Uygulamanızı Microsoft Entra ID'ye kaydedin.
- İstemci uygulama türleri hakkında bilgi edinin: genel istemciler ve gizli istemciler.
MSAL Android hem tarayıcı aracılı hem de yerel kimlik doğrulama deneyimlerini desteklediğinden, senaryonuza göre aşağıdaki öğreticilerdeki adımları izleyin.
Tarayıcı aracılı kimlik doğrulama senaryoları için, Kullanıcıların oturum açmasını sağlama ve bir Android uygulamasından Microsoft Graph’ı çağırma hızlı başlangıç kılavuzuna bakın.
Yerel kimlik doğrulama senaryoları için, öğretici: Android uygulamanızı yerel kimlik doğrulaması için hazırlama Microsoft Entra Dış Kimlik örnek kılavuzuna bakın.
Requirements
- En Düşük SDK Sürüm 16+
- Hedef SDK Sürüm 33+
1. Adım: MSAL bağımlılığı bildirme
Uygulamanızın build.gradle öğesine ekleyin:
dependencies {
implementation 'com.microsoft.identity.client:msal:4.9.+'
}
Lütfen gradle betiğinizde depolar bölümünüze aşağıdaki satırları da ekleyin:
maven {
url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
}
2. Adım: MSAL yapılandırma dosyanızı oluşturma
Tarayıcıya devredilen kimlik doğrulama:
Yapılandırma dosyanızı projenizde "ham" kaynak olarak oluşturun. Bir PublicClientApplication örneği oluştururken, oluşturulan kaynak tanımlayıcısını kullanarak buna başvurun. Uygulamanızı ilk kez Microsoft Entra yönetim merkezi kaydediyorsanız, size ayrıntılı MSAL Android yapılandırma dosyası da sağlanır
{
"client_id" : "<YOUR_CLIENT_ID>",
"redirect_uri" : "msauth://<YOUR_PACKAGE_NAME>/<YOUR_BASE64_URL_ENCODED_PACKAGE_SIGNATURE>",
"broker_redirect_uri_registered": true,
}
redirect_uri içinde, <YOUR_PACKAGE_NAME>, context.getPackageName() yöntemi tarafından döndürülen paket adını ifade eder. Bu paket adı, dosyanızda application_id tanımlananla aynıdırbuild.gradle.
Yukarıdaki değerler gereken en düşük yapılandırmadır. MSAL, diğer tüm ayarlar için kitaplığıyla birlikte gelen varsayılan değerleri kullanır. Kitaplık varsayılanlarını anlamak için lütfen MSAL Android yapılandırma dosyası belgelerine bakın .
Yerel kimlik doğrulaması:
- res’e sağ tıklayın ve Yeni > Dizin seçeneğini belirleyin. Yeni dizin adı olarak raw yazın ve Tamam'ı seçin.
- Bu yeni klasörde (app > src > main > res > raw), auth_config_native_auth.json adlı yeni bir JSON dosyası oluşturun ve aşağıdaki şablonu MSAL Yapılandırması'na yapıştırın:
{
"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
}
}
3. Adım: Tarayıcı tarafından atanan kimlik doğrulaması için AndroidManifest.xml yapılandırma
- Android Bildirimi aracılığıyla aşağıdaki izinleri isteyin
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- Yeniden yönlendirme URI'nizi kullanarak Android Bildirimi'nde bir amaç filtresi yapılandırma
Yapılandırma aracılığıyla belirttiğiniz yeniden yönlendirme URI'sine uyan bir amaç filtresi eklenememesi, başarısız etkileşimli belirteç isteğine neden olur.
<!--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>
Sık karşılaşılan yeniden yönlendirme uri'leri sorunları hakkında daha fazla bilgi için MSAL Android SSS sayfasına göz atın.
ProGuard
MSAL, çeşitli kalıcılık ve serileştirmeyle ilgili işlevleri desteklemek için çalışma zamanında dosyalarda .class depolanan yansıma ve genel tür bilgilerini kullanır. Küçültme ve gizleme için kitaplık desteği sınırlıdır. Bu kitaplıkla birlikte varsayılan bir yapılandırma gönderilir; herhangi bir sorun bulursanız lütfen bir sorun bildirin .
Tavsiye
MSAL bir güvenlik kitaplığıdır. Kullanıcıların oturum açma ve hizmetlere erişme şeklini denetler. Uygun olduğunda her zaman uygulamanızda kitaplığımızın en son sürümünü kullanmanızı öneririz. Uygulamanızı güncelleştirme riskini denetleyebilmeniz için anlamsal sürüm oluşturma özelliğini kullanırız. Örneğin, her zaman en son alt sürüm numarasını (örn. x.y.x) indirmek, API yüzeyimizin değişmediği güvencesiyle en son güvenlik güncellemelerini ve özellik iyileştirmelerini almanızı sağlar. en son sürümü ve sürüm notlarını her zaman GitHub Sürümler sekmesinde görebilirsiniz.