Tutorial: Vorbereiten Ihrer Android-App (Kotlin) für die Authentifizierung
Dies ist das zweite Tutorial in der Tutorialreihe, das veranschaulicht, wie Sie Ihrer Android-App (Kotlin) Microsoft Authentication Library (MSAL) für Android hinzufügen. MSAL ermöglicht Android-Anwendungen die Authentifizierung von Benutzer*innen mit Microsoft Entra.
In diesem Tutorial gehen Sie wie folgt vor:
- Hinzufügen von MSAL-Abhängigkeiten
- Konfiguration hinzufügen.
Voraussetzungen
- Android Studio
- Falls noch nicht geschehen, folgen Sie den Anweisungen im Tutorial: Registrieren und Konfigurieren der mobilen Android-App (Kotlin), und registrieren Sie eine App in Ihrem externen Mandanten.
- Ein Android-Projekt Wenn Sie kein Android-Projekt haben, erstellen Sie eines.
Hinzufügen von MSAL-Abhängigkeiten
Führen Sie die folgenden Schritte aus, um MSAL-Abhängigkeiten in Ihrem Android-Projekt hinzuzufügen:
Öffnen Sie Ihr Projekt in Android Studio, oder erstellen Sie ein neues Projekt.
Öffnen Sie das
build.gradle
-Element Ihrer Anwendung, und fügen Sie die folgenden Abhängigkeiten hinzu: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.+' //... }
In der
build.gradle
-Konfiguration werden Repositorys für Projektabhängigkeiten definiert. Sie enthält eine Maven-Repository-URL für diecom.microsoft.device.display:display-mask
-Bibliothek aus Azure DevOps. Darüber hinaus nutzt sie Maven Central- und Google-Repositorys. Der Abschnitt „Abhängigkeiten“ gibt die Implementierung der MSAL-Version 5 und potenziell anderer Abhängigkeiten an.Klicken Sie in Android Studio auf File>Sync Project with Gradle Files (Datei > Projekt mit Gradle-Dateien synchronisieren).
Hinzufügen einer Konfiguration
Die erforderlichen Mandantenbezeichner, wie z. B. die Anwendungs-ID (Client), werden dem MSAL-SDK über eine JSON-Konfigurationsdatei übergeben.
Führen Sie diese Schritte aus, um eine Konfigurationsdatei zu erstellen:
Navigieren Sie im Projektbereich von Android Studio zu app\src\main\res.
Klicken Sie mit der rechten Maustaste auf res, und wählen Sie New>Directory („Neu“ > „Verzeichnis“) aus. Geben Sie
raw
als neuen Verzeichnisnamen ein, und wählen Sie OK.Erstellen Sie in app\src\main\res\raw eine neue JSON-Datei namens
auth_config_ciam_auth.json
.Fügen Sie in der Datei
auth_config_ciam_auth.json
die folgenden MSAL-Konfigurationen hinzu:{ "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/" } ] }
Die JSON-Konfigurationsdatei gibt verschiedene Einstellungen für eine Android-Anwendung an. Sie enthält die Client-ID, den Autorisierungsbenutzer-Agent, den Umleitungs-URI und den Kontomodus. Darüber hinaus definiert sie eine Autorität für die Authentifizierung, die den Typ und die Autoritäts-URL angibt.
Ersetzen Sie die folgenden Platzhalter durch Ihre Mandantenwerte, die Sie im Microsoft Entra Admin Center finden:
Enter_the_Application_Id_Here
, und ersetzen Sie ihn mit der Anwendungs-ID (Client-ID) der zuvor von Ihnen registrierten Anwendung.Enter_the_Redirect_Uri_Here
, und ersetzen Sie sie durch den Wert von redirect_uri in der MSAL-Konfigurationsdatei (Microsoft Authentication Library), die Sie zuvor heruntergeladen haben, als Sie die Plattformumleitungs-URL hinzugefügt haben.Enter_the_Tenant_Subdomain_Here
, und ersetzen Sie ihn durch die Unterdomäne des Verzeichnisses (des Mandanten). Wenn Ihre primäre Mandantendomäne beispielsweisecontoso.onmicrosoft.com
lautet, verwenden Siecontoso
. Wenn Sie Ihre Mandantendomäne nicht kennen, erfahren Sie, wo Sie Ihre Mandantendetails nachlesen können.
Öffnen Sie die Datei /app/src/main/AndroidManifest.xml.
Fügen Sie in AndroidManifest.xml die folgende Datenspezifikation zu einem Absichtsfilter hinzu:
<data android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE" android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE" android:scheme="msauth" />
Suchen Sie den folgenden Platzhalter:
- ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE und ersetzen Sie ihn durch den Projektpaketnamen Ihres Android-Pakets.
- ENTER_YOUR_SIGNATURE_HASH_HERE und ersetzen Sie ihn durch den Signaturhash, den Sie zuvor generiert haben, als Sie die Plattformumleitungs-URL hinzugefügt haben.
Erstellen der MSAL-SDK-Instanz
Verwenden Sie den folgenden Code, um die MSAL SDK-Instanz zu initialisieren:
private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
this@MainActivity,
R.raw.auth_config_ciam_auth
)
}
Der Code initialisiert asynchron eine öffentliche Clientanwendung für ein einzelnes Konto. Er verwendet die bereitgestellte Authentifizierungskonfigurationsdatei und wird auf dem E/A-Verteiler ausgeführt.
Stellen Sie sicher, dass Sie die Importanweisungen hinzufügen. Android Studio sollte die Importanweisungen automatisch enthalten.
Nächste Schritte
Tutorial: Anmelden von Benutzer*innen in der mobilen Android-App (Kotlin)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für