Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:
A munkaerő bérlők
Külső bérlők (további információ)
Ebben az oktatóanyagban az Androidhoz készült Microsoft Authentication Library (MSAL) androidos alkalmazáshoz való hozzáadását mutatja be. 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 meg fogja;
- MSAL-függőség hozzáadása
- Konfiguráció hozzáadása
- MSAL SDK-példány létrehozása
Előfeltételek
- Munkaerőt igénybe vevő. Használhatja az alapértelmezett címtárat, vagy beállíthat egy új bérlőt.
- Regisztráljon egy új alkalmazást a Microsoft Entra felügyeleti központban, amely csak ebben a szervezeti címtárban lévő fiókokhoz van konfigurálva. További részletekért tekintse meg az alkalmazás regisztrálását . Jegyezze fel a következő értékeket az alkalmazás áttekintési oldaláról későbbi használatra:
- Alkalmazás (ügyfél) azonosítója
- Címtár (ügyfél) azonosítója
- Android-projekt. Ha nem rendelkezik Android-projektel, hozza létre.
Átirányítási URI hozzáadása
Az alkalmazásregisztrációban meghatározott átirányítási URI-kat kell konfigurálnia a letöltött kódmintával való kompatibilitás biztosításához. Ezek az URI-k elengedhetetlenek ahhoz, hogy a sikeres bejelentkezés után a felhasználók visszakerüljenek az alkalmazásba.
A kezelés alatt válassza az Hitelesítés>Platform hozzáadása>Android lehetőséget.
Adja meg a projekt csomagnevét a fent letöltött mintatípus alapján.
- Java-minta –
com.azuresamples.msalandroidapp - Kotlin-minta:
com.azuresamples.msalandroidkotlinapp
- Java-minta –
Az Android-alkalmazás konfigurálása panel Aláírás kivonat szakaszában válassza a Fejlesztési aláírás kivonat létrehozása lehetőséget, és másolja a KeyTool parancsot a parancssorba.
- KeyTool.exe a Java Development Kit (JDK) részeként van telepítve. A KeyTool parancs végrehajtásához telepítenie kell az OpenSSL eszközt is. További információkért tekintse meg az Android dokumentációját a kulcsok generálására vonatkozóan.
Adja meg a KeyTool által létrehozott aláíráskivonatot .
Válassza a Konfigurálás lehetőséget, és mentse az Android konfigurációs panelen megjelenő MSAL-konfigurációt, hogy később beírhassa azt az alkalmazás konfigurálásakor.
Válassza a Kész lehetőséget.
MSAL-függőségek és kapcsolódó kódtárak hozzáadása a projekthez
Ha MSAL-függőségeket szeretne hozzáadni androidos projektjéhez, kövesse az alábbi lépéseket:
Nyissa meg a projektet az Android Studióban, vagy hozzon létre egy új projektet.
Nyissa meg az alkalmazásának
build.gradle-ját, é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
build.gradlekonfigurációban az adattárak a projektfüggőségekhez vannak definiálva. Tartalmaz egy Maven-adattár URL-címet az Azure DevOpscom.microsoft.device.display:display-maskkönyvtárához. 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.Az Android Studióban válassza a Fájl>Projekt szinkronizálása a Gradle-fájlokkallehető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:
Az Android Studio projektpaneljében navigáljon a app\src\main\reskönyvtárba.
Kattintson jobb gombbal res, és válassza a Új>Könyvtárlehetőséget. Írja be
rawúj könyvtárnévként, és válassza OKlehetőséget.alkalmazásban>src>main>res>raw, hozzon létre egy új JSON-fájlt a
auth_config_single_account.jsonnéven, és illessze be a korábban mentett MSAL-konfigurációt.Az átirányítási URI alatt illessze be a következőt:
"account_mode" : "SINGLE",A konfigurációs fájlnak a következő példához kell hasonlítania:
{ "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" } } ] }Mivel ez az oktatóanyag csak azt mutatja be, hogyan konfigurálhat egy alkalmazást egyfiókos módban, tekintse meg egy vagy több fiókos módú és az alkalmazás konfigurálásával kapcsolatos további információt
A "WEBVIEW" használatát javasoljuk. Ha a "authorization_user_agent" böngészőként szeretné konfigurálni az alkalmazásban, az alábbi frissítéseket kell elvégeznie. a) Frissítse a auth_config_single_account.json-t az "authorization_user_agent": "Browser" értékkel. b) AndroidManifest.xmlfrissítése. Az alkalmazásban lépjen a alkalmazáshoz>src>main>AndroidManifest.xml, és adja hozzá a
BrowserTabActivitytevékenységet az<application>elem gyermekeként. Ez a bejegyzés lehetővé teszi, hogy a Microsoft Entra ID visszahívást kezdeményez az ön alkalmazásához a hitelesítés befejezése utá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>- Használja a csomagnév-t a
android:host=.érték helyettesítésére. Úgy kell kinéznie, mint acom.azuresamples.msalandroidapp. - Az Aláíráskivonat használatával cserélje le
android:path=értékét. Győződjön meg arról, hogy az aláírási kivonat elején egy előtagként szereplő/található. Úgy kell kinéznie, mint a/aB1cD2eF3gH4+iJ5kL6-mN7oP8q=.
Ezeket az értékeket az alkalmazásregisztráció Hitelesítés paneljén is megtalálhatja.
- Használja a csomagnév-t a
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:
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);
}
}
);
Ez a kód egyetlen nyilvános ügyfélalkalmazást hoz létre a auth_config_single_account.jsonkonfigurációs fájl használatával. Az alkalmazás sikeres létrehozása után hozzárendeli a példányt mSingleAccountApp, és meghívja a loadAccount() metódust. Ha a létrehozás során hiba történik, a displayError(exception) metódus meghívásával kezeli a hibát.
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.