Megosztás a következőn keresztül:


Oktatóanyag: Android -alkalmazás (Kotlin) előkészítése hitelesítéshez

Ez az oktatóanyag-sorozat második oktatóanyaga, amely bemutatja, hogyan vehet fel Androidhoz készült Microsoft Authentication Library -t (MSAL) androidos (Kotlin-) alkalmazásba. Az MSAL lehetővé teszi, hogy az Android-alkalmazások hitelesítsék a felhasználókat a Microsoft Entra használatával.

Ebben az oktatóanyagban a következőket fogja elkönyvelni:

  • MSAL-függőségek hozzáadása.
  • Konfiguráció hozzáadása.

Előfeltételek

  • Android Studio
  • Ha még nem tette meg, kövesse az oktatóanyag utasításait : Android (Kotlin) mobilalkalmazás regisztrálása és konfigurálása, valamint alkalmazás regisztrálása a külső bérlőben.
  • Android-projekt. Ha nem rendelkezik Android-projektel, hozza létre.

MSAL-függőségek hozzáadása

Ha MSAL-függőségeket szeretne hozzáadni androidos projektjéhez, kövesse az alábbi lépéseket:

  1. Nyissa meg a projektet az Android Studióban, vagy hozzon létre egy új projektet.

  2. Nyissa meg az alkalmazásait build.gradle , és adja hozzá a következő függőségeket:

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

    A konfigurációban az build.gradle adattárak a projektfüggőségekhez vannak definiálva. Tartalmaz egy Maven-adattár URL-címet a kódtárhoz az com.microsoft.device.display:display-mask Azure DevOpsból. Emellett a Maven Central és a Google adattárait is használja. A függőségek szakasz az MSAL 5-ös verziójának és potenciálisan más függőségeknek a megvalósítását határozza meg.

  3. Az Android Studióban válassza a Fájlszinkronizálási>projekt és a Gradle Files lehetőséget.

Konfiguráció hozzáadása

A szükséges bérlőazonosítókat, például az alkalmazás (ügyfél) azonosítóját egy JSON-konfigurációs beállítással adhatja át az MSAL SDK-nak.

A következő lépésekkel hozhat létre konfigurációs fájlt:

  1. Az Android Studio projektpaneljén lépjen az app\src\main\res elemre.

  2. Kattintson a jobb gombbal a res elemre, és válassza az Új>könyvtár lehetőséget. Adja meg raw az új könyvtárnevet, és válassza az OK gombot.

  3. Az app\src\main\res\raw alkalmazásban hozzon létre egy új JSON-fájlt.auth_config_ciam_auth.json

  4. A fájlban auth_config_ciam_auth.json adja hozzá a következő MSAL-konfigurációkat:

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

    A JSON-konfigurációs fájl különböző beállításokat határoz meg egy Android-alkalmazáshoz. Tartalmazza az ügyfél-azonosítót, az engedélyezési felhasználói ügynököt, az átirányítási URI-t és a fiók módot. Emellett meghatároz egy hitelesítésszolgáltatót, amely megadja a típust és a szolgáltató URL-címét.

    Cserélje le a következő helyőrzőket a Microsoft Entra felügyeleti központból beszerzett bérlői értékekre:

    • Enter_the_Application_Id_Here és cserélje le a korábban regisztrált alkalmazás (ügyfél) azonosítójára .
    • Enter_the_Redirect_Uri_Hereés cserélje le a redirect_uri értékére a microsoft authentication library (MSAL) konfigurációs fájlban, amely korábban a platform átirányítási URL-címének hozzáadásakor volt letöltve.
    • Enter_the_Tenant_Subdomain_Here és cserélje le a Címtár (bérlő) altartományra. Ha például a bérlő elsődleges tartománya, contoso.onmicrosoft.comhasználja a következőt contoso: Ha nem ismeri a bérlői altartományt, olvassa el a bérlő adatait.
  5. Nyissa meg az /app/src/main/AndroidManifest.xml fájlt.

  6. A AndroidManifest.xml adja hozzá a következő adatspecifikációt egy szándékszűrőhöz:

    <data
        android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE"
        android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE"
        android:scheme="msauth" />
    

    Keresse meg a helyőrzőt:

    • ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE és cserélje le az Android-projektcsomag nevére.
    • ENTER_YOUR_SIGNATURE_HASH_HERE és cserélje le a platform átirányítási URL-címének hozzáadásakor korábban létrehozott aláíráskivonatra.

Egyéni URL-tartomány használata (nem kötelező)

Használjon egyéni tartományt a hitelesítési URL-cím teljes márkajelzéséhez. Felhasználói szempontból a felhasználók a hitelesítési folyamat során a tartományon maradnak, ahelyett, hogy ciamlogin.com tartománynévre irányítanák át őket.

Egyéni tartományt az alábbi lépésekkel használhat:

  1. Az egyéni URL-tartományok engedélyezése külső bérlőkben lévő alkalmazások számára című témakörben leírt lépésekkel engedélyezheti az egyéni URL-tartományt a külső bérlő számára.

  2. Nyissa meg auth_config_ciam_auth.json fájlt:

    1. Frissítse a tulajdonság értékét a authority_url következőre https://Enter_the_Custom_Domain_Here/Enter_the_Tenant_ID_Here: . Cserélje le Enter_the_Custom_Domain_Here az egyéni URL-tartományra és Enter_the_Tenant_ID_Here a bérlőazonosítóra. Ha nem rendelkezik a bérlőazonosítójával, olvassa el a bérlő adatait.
    2. Adjon hozzá knownAuthorities tulajdonságot [Enter_the_Custom_Domain_Here] értékkel.

A auth_config_ciam_auth.json fájl módosítása után, ha az egyéni URL-tartomány login.contoso.com, és a bérlőazonosítója aaaabbbb-0000-cccc-1111-ddddd2222eeee, akkor a fájlnak az alábbi kódrészlethez hasonlóan kell kinéznie:

{
    "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://login.contoso.com/aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "knownAuthorities": ["login.contoso.com"]
    }
    ]
}

MSAL SDK-példány létrehozása

Az MSAL SDK-példány inicializálásához használja a következő kódot:

private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
    return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
        this@MainActivity,
        R.raw.auth_config_ciam_auth
    )
}

A kód aszinkron módon inicializál egy nyilvános ügyfélalkalmazást. A megadott hitelesítési konfigurációs fájlt használja, és az I/O-diszpécseren fut.

Győződjön meg arról, hogy tartalmazza az importálási utasításokat. Az Android Studiónak automatikusan tartalmaznia kell az importálási utasításokat.

Következő lépések

Oktatóanyag: Felhasználók bejelentkezése Android (Kotlin) mobilalkalmazásban