Freigeben über


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

Hinzufügen von MSAL-Abhängigkeiten

Führen Sie die folgenden Schritte aus, um MSAL-Abhängigkeiten in Ihrem Android-Projekt hinzuzufügen:

  1. Öffnen Sie Ihr Projekt in Android Studio, oder erstellen Sie ein neues Projekt.

  2. Ö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 die com.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.

  3. 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:

  1. Navigieren Sie im Projektbereich von Android Studio zu app\src\main\res.

  2. 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.

  3. Erstellen Sie in app\src\main\res\raw eine neue JSON-Datei namens auth_config_ciam_auth.json.

  4. 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 beispielsweise contoso.onmicrosoft.com lautet, verwenden Sie contoso. Wenn Sie Ihre Mandantendomäne nicht kennen, erfahren Sie, wo Sie Ihre Mandantendetails nachlesen können.
  5. Öffnen Sie die Datei /app/src/main/AndroidManifest.xml.

  6. 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)