Sdílet prostřednictvím


Kurz: Nastavení aplikace pro Android pro přihlášení uživatelů pomocí platformy Microsoft Identity Platform

platí pro: zelený kruh se symbolem bílého zaškrtnutí. zaměstnanci zelený kruh se symbolem bílého zaškrtnutí.externí nájemci (další informace)

V tomto kurzu přidáte knihovnu Microsoft Authentication Library (MSAL) pro Android do aplikace pro Android. MSAL umožňuje aplikacím pro Android ověřovat uživatele pomocí Microsoft Entra.

V tomto kurzu budete;

  • Přidání závislosti MSAL
  • Přidat konfiguraci
  • Vytvoření instance sady MSAL SDK

Požadavky

  • Součást pracovního týmu. Můžete použít výchozí adresář nebo nastavit nového tenanta.
  • Zaregistrujte novou aplikaci v Centru pro správu Microsoft Entra, která je nakonfigurovaná jenom pro účty v tomto organizačním adresáři. Další podrobnosti najdete v tématu Registrace aplikace . Na stránce Přehled aplikace si poznamenejte následující hodnoty pro pozdější použití:
    • ID aplikace (klienta)
    • ID adresáře (klienta)
  • Android projekt. Pokud projekt Pro Android nemáte, vytvořte ho.

Přidejte URI pro přesměrování

V registraci aplikace musíte nakonfigurovat konkrétní identifikátory URI přesměrování, abyste zajistili kompatibilitu se staženým vzorovým kódem. Tyto identifikátory URI jsou nezbytné pro přesměrování uživatelů zpět do aplikace po úspěšném přihlášení.

  1. V části Spravovat vyberte Ověřování>Přidat platformu>Android.

  2. Zadejte název balíčku projektu na základě výše staženého ukázkového typu.

    • Ukázka Javy – com.azuresamples.msalandroidapp
    • Ukázka Kotlinu – com.azuresamples.msalandroidkotlinapp
  3. Ve části Hash podpisu podokna Konfigurace aplikace pro Android vyberte Generování vývojového hash podpisu. a zkopírujte příkaz KeyTool do příkazového řádku.

    • KeyTool.exe se instaluje jako součást sady Java Development Kit (JDK). Musíte také nainstalovat nástroj OpenSSL ke spuštění příkazu KeyTool. Další informace najdete v dokumentaci k Androidu o generování klíče .
  4. Zadejte hodnotu hash podpisu vygenerovanou nástrojem KeyTool.

  5. Vyberte Konfigurovat a uložte konfiguraci MSAL, která se zobrazí v podokně konfigurace Androidu, abyste ji mohli zadat při pozdější konfiguraci aplikace.

  6. Vyberte Hotovo.

Přidejte závislost MSAL a relevantní knihovny do vašeho projektu

Pokud chcete do projektu Androidu přidat závislosti MSAL, postupujte takto:

  1. Otevřete projekt v Android Studiu nebo vytvořte nový projekt.

  2. Otevřete ve své aplikaci build.gradle a přidejte následující závislosti:

    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.+'
        //...
    }
    

    V konfiguraci build.gradle jsou úložiště definována pro závislosti projektu. Obsahuje adresu URL úložiště Maven pro knihovnu com.microsoft.device.display:display-mask z Azure DevOps. Kromě toho využívá centrální úložiště Maven a Google. Sekce závislostí specifikuje implementaci knihovny MSAL verze 5 a potenciálně i další závislosti.

  3. V Android Studio vyberte Soubor>Synchronizovat projekt s Gradle soubory.

Přidat konfiguraci

Požadované identifikátory tenanta, jako je ID aplikace (klienta), předáte sadě MSAL SDK prostřednictvím nastavení konfigurace JSON.

K vytvoření konfiguračního souboru použijte tento postup:

  1. V podokně projektu Android Studia přejděte na app\src\main\res.

  2. Klikněte pravým tlačítkem na res a zvolte Nový>Adresář. Jako název nového adresáře zadejte raw a vyberte OK.

  3. V aplikaci >src>main>res>rawvytvořte nový soubor JSON s názvem auth_config_single_account.json a vložte konfiguraci MSAL, kterou jste si uložili dříve.

    Pod adresu URI přesměrování vložte:

      "account_mode" : "SINGLE",
    

    Konfigurační soubor by měl vypadat podobně jako v tomto příkladu:

    {
      "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"
          }
        }
      ]
    }
    

    Tento návod ukazuje, jak nakonfigurovat aplikaci v režimu jednoho účtu; viz také režim jednoho vs. více účtů a konfiguraci aplikace pro více informací.

  4. Doporučujeme použít webVIEW. V případě, že chcete v aplikaci nakonfigurovat "authorization_user_agent" jako PROHLÍŽEČ, musíte provést následující aktualizace. a) Aktualizujte auth_config_single_account.json s "authorization_user_agent": "Browser". b) Aktualizace AndroidManifest.xml. V aplikaci přejděte na app>src>hlavní>AndroidManifest.xml, přidejte aktivitu BrowserTabActivity jako podřízený prvek <application>. Tato položka umožňuje Microsoft Entra ID volat zpět do vaší aplikace po dokončení ověřování:

    <!--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>
    
    • K nahrazení hodnoty použijte název balíčku android:host=.. Měl by vypadat jako com.azuresamples.msalandroidapp.
    • Hodnotu nahraďte android:path= podpisu. Ujistěte se, že na samém začátku hash podpisu je úvodní /. Měl by vypadat jako /aB1cD2eF3gH4+iJ5kL6-mN7oP8q=.

    Tyto hodnoty najdete také v okně Ověřování registrace aplikace.

Vytvoření instance sady MSAL SDK

K inicializaci instance sady MSAL SDK použijte následující kód:

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);
        }
    }
);

Tento kód vytvoří veřejnou klientskou aplikaci s jedním účtem pomocí konfiguračního souboru auth_config_single_account.json. Po úspěšném vytvoření aplikace přiřadí instanci mSingleAccountApp a zavolá metodu loadAccount(). Pokud během vytváření dojde k chybě, zpracuje chybu voláním metody displayError(exception).

Nezapomeňte zahrnout příkazy importu. Android Studio by měl automaticky přidat příkazy pro import.

Další kroky