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.
için geçerlidir: Yeşil Daire, Beyaz Onay İşareti Simgesi Yeşil Daire, Beyaz Onay İşareti Simgesiyle Workforce kiracıları
(daha fazla bilgi)
Bu öğreticide, Android uygulamanıza Android için Microsoft Authentication Library (MSAL) eklemeyi nasıl yapacağınızı öğreneceksiniz. MSAL, Android uygulamalarının Microsoft Entra ile kullanıcıların kimliğini doğrulamasını sağlar.
Bu öğreticide öğreneceksiniz;
- MSAL bağımlılığını ekle
- Yapılandırma ekleme
- MSAL SDK örneği oluşturma
Önkoşullar
- Çalışan konut kiracısı. Varsayılan Dizininizi kullanabilir veya yeni bir kiracı ayarlayabilirsiniz.
-
Microsoft Entra yönetim merkezine, yalnızca bu kuruluş dizinindeki Hesaplar için yapılandırılmış yeni bir uygulama kaydedin. Daha fazla bilgi için Bir uygulamayı kaydetme bölümüne bakın. Daha sonra kullanmak üzere uygulamaya Genel Bakış sayfasından aşağıdaki değerleri kaydedin:
- Uygulama (istemci) kimliği
- Dizin (kullanıcı) kimliği
- Android projesi. Android projeniz yoksa oluşturun.
Yeniden yönlendirme URI'sini ekleme
İndirilen kod örneğiyle uyumluluğu sağlamak için uygulama kaydınızda belirli yeniden yönlendirme URI'lerini yapılandırmanız gerekir. Bu URI'ler, kullanıcıları başarıyla oturum açtıktan sonra uygulamaya geri yönlendirmek için gereklidir.
Yönetaltında Kimlik Doğrulaması>Platform Ekle>Androidseçin.
Yukarıda indirdiğiniz örnek türüne göre projenizin Paket Adını girin.
- Java örneği -
com.azuresamples.msalandroidapp
- Kotlin örneği -
com.azuresamples.msalandroidkotlinapp
- Java örneği -
Android uygulamanızı yapılandırma bölmesininİmza karması bölümünde geliştirme İmza Karması oluşturma seçin. ve KeyTool komutunu komut satırınıza kopyalayın.
- KeyTool.exe Java Geliştirme Seti'nin (JDK) bir parçası olarak yüklenir. KeyTool komutunu yürütmek için OpenSSL aracını da yüklemeniz gerekir. Daha fazla bilgi için, anahtar oluşturmaya ilişkin Android belgelerine bakın.
KeyTool tarafından oluşturulan İmza karmasını girin.
Yapılandır'ı seçin ve daha sonra uygulamanızı yapılandırırken girebilmeniz için, Android yapılandırma bölmesinde görüntülenen MSAL Yapılandırma kaydedin.
Seç. Bitti.
MSAL bağımlılığını ve ilgili kitaplıkları projenize ekleyin
Android projenize MSAL bağımlılıkları eklemek için şu adımları izleyin:
Projenizi Android Studio'da açın veya yeni bir proje oluşturun.
Uygulamanızın
build.gradle
açın ve aşağıdaki bağımlılıkları ekleyin: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
yapılandırmasında depolar proje bağımlılıkları için tanımlanır. Azure DevOps'tancom.microsoft.device.display:display-mask
kitaplığı için bir Maven deposu URL'si içerir. Ayrıca Maven Central ve Google depolarını kullanır. Bağımlılıklar bölümü, MSAL sürüm 5'in ve potansiyel olarak diğer bağımlılıkların uygulanmasını belirtir.Android Studio'da Dosya>Gradle Dosyalarıyla Projeyi Senkronize Etseçeneğini seçin.
Yapılandırma ekleme
Uygulama (istemci) kimliği gibi gerekli kiracı tanımlayıcılarını bir JSON yapılandırma ayarı aracılığıyla MSAL SDK'ya geçirirsiniz.
Yapılandırma dosyası oluşturmak için şu adımları kullanın:
- İşgücü kiracı yapılandırması
- Dış Kiracı Yapılandırma
Android Studio'nun proje bölmesinde app\src\main\resadresine gidin.
res'e sağ tıklayın ve Yeni>Dizin seçin. Yeni dizin adı olarak
raw
girin ve tamam seçin.app>src>main>res>hamiçinde
auth_config_single_account.json
adlı yeni bir JSON dosyası oluşturun ve daha önce kaydettiğiniz MSAL Yapılandırmasını yapıştırın.Yeniden yönlendirme URI'sinin altına yapıştırın:
"account_mode" : "SINGLE",
Yapılandırma dosyanız şu örneğe benzemelidir:
{ "client_id": "00001111-aaaa-bbbb-3333-cccc4444", "authorization_user_agent": "WEBVIEW", "redirect_uri": "msauth://com.azuresamples.msalandroidapp/00001111%cccc4444%3D", "broker_redirect_uri_registered": true, "account_mode": "SINGLE", "authorities": [ { "type": "AAD", "audience": { "type": "AzureADandPersonalMicrosoftAccount", "tenant_id": "common" } } ] }
Bu öğreticide yalnızca Tek Hesap modunda bir uygulamanın nasıl yapılandırılacağı gösterilmektedir, daha fazla bilgi için bkz. tek ve birden çok hesap modu ve uygulamanızı yapılandırma .
'WEBVIEW' kullanmanızı öneririz. Uygulamanızda "authorization_user_agent" öğesini 'BROWSER' olarak yapılandırmak istiyorsanız aşağıdaki güncelleştirmeleri yapmanız gerekir. a) auth_config_single_account.json'ı "authorization_user_agent": "Tarayıcı" olarak güncelleyin. b) AndroidManifest.xmlgüncelleştirin. Uygulamada uygulama>src>ana>AndroidManifest.xmladresine gidin,
BrowserTabActivity
etkinliğini<application>
öğesinin bir alt öğesi olarak ekleyin. Bu giriş, Kimlik doğrulamasını tamamladıktan sonra Microsoft Entra Id'nin uygulamanıza geri çağrı yapmasını sağlar:<!--Intent filter to capture System Browser or Authenticator calling back to our app after sign-in--> <activity android:name="com.microsoft.identity.client.BrowserTabActivity" android:exported="true"> <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="Enter_the_Package_Name" android:path="/Enter_the_Signature_Hash" /> </intent-filter> </activity>
-
değeri değiştirmek için
android:host=.
kullanın.com.azuresamples.msalandroidapp
gibi görünmelidir. -
İmza Karması'i kullanarak
android:path=
değerini değiştirin. İmza Hash'in başında/
olduğundan emin olun./aB1cD2eF3gH4+iJ5kL6-mN7oP8q=
gibi görünmelidir.
Bu değerleri uygulama kaydınızın Kimlik Doğrulaması panelinde de bulabilirsiniz.
-
değeri değiştirmek için
MSAL SDK örneği oluşturma
MSAL SDK örneğini başlatmak için aşağıdaki kodu kullanın:
- İşgücü kiracı yapılandırması
- Dış Kiracı Yapılandırma
PublicClientApplication.createSingleAccountPublicClientApplication(
getContext(),
R.raw.auth_config_single_account,
new IPublicClientApplication.ISingleAccountApplicationCreatedListener() {
@Override
public void onCreated(ISingleAccountPublicClientApplication application) {
// Initialize the single account application instance
mSingleAccountApp = application;
loadAccount();
}
@Override
public void onError(MsalException exception) {
// Handle any errors that occur during initialization
displayError(exception);
}
}
);
Bu kod, auth_config_single_account.jsonyapılandırma dosyasını kullanarak tek bir hesap genel istemci uygulaması oluşturur. Uygulama başarıyla oluşturulduğunda, örneği mSingleAccountApp
atar ve loadAccount()
yöntemini çağırır. Oluşturma sırasında bir hata oluşursa, displayError(exception) yöntemini çağırarak hatayı işler.
İçe aktarma ifadelerini eklemeyi unutmayın. Android Studio sizin için içeri aktarma ifadelerini otomatik olarak eklemelidir.