Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Dzierżawcy siły roboczej
Dzierżawcy zewnętrzni (dowiedz się więcej)
W tym samouczku do aplikacji systemu Android dodasz bibliotekę Microsoft Authentication Library (MSAL) dla systemu Android. MSAL umożliwia aplikacjom Android uwierzytelnianie użytkowników za pomocą Microsoft Entra.
W tym samouczku nauczysz się:
- Dodaj zależność MSAL
- Dodawanie konfiguracji
- Tworzenie wystąpienia MSAL SDK
Wymagania wstępne
- Najemca zasobów pracowniczych. Możesz użyć swojego katalogu domyślnego lub skonfigurować nowego najemcę.
- Zarejestruj nową aplikację w centrum administracyjnym usługi Microsoft Entra, skonfigurowaną tylko dla kont w tym katalogu organizacyjnym. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji . Zapisz następujące wartości na stronie Przegląd aplikacji do późniejszego użycia:
- Identyfikator aplikacji (klienta)
- Identyfikator katalogu (klienta)
- Projekt systemu Android. Jeśli nie masz projektu systemu Android, utwórz go.
Dodaj identyfikator URI przekierowania
Aby zapewnić zgodność z pobranym przykładem kodu, należy skonfigurować określone identyfikatory URI przekierowania w rejestracji aplikacji. Te identyfikatory URI są niezbędne do przekierowywania użytkowników z powrotem do aplikacji po pomyślnym zalogowaniu.
W obszarze Zarządzanie wybierz Uwierzytelnianie>Dodaj platformę>Android.
Wprowadź nazwę pakietu projektu na podstawie przykładowego typu pobranego powyżej.
- Przykład języka Java —
com.azuresamples.msalandroidapp
- Przykład Kotlin —
com.azuresamples.msalandroidkotlinapp
- Przykład języka Java —
W sekcji Skrót podpisu w okienku Konfigurowanie aplikacji Android wybierz pozycję Generowanie skrótu sygnatury programistycznej. i skopiuj polecenie KeyTool do wiersza poleceń.
- KeyTool.exe jest instalowany w ramach zestawu Java Development Kit (JDK). Należy również zainstalować narzędzie OpenSSL, aby wykonać polecenie KeyTool. Aby uzyskać więcej informacji, zobacz dokumentację systemu Android dotyczącą generowania klucza , aby uzyskać więcej informacji.
Wprowadź skrót sygnatury wygenerowany przez narzędzie KeyTool.
Wybierz pozycję Konfiguruj i zapisz konfigurację biblioteki MSAL wyświetlaną w okienku konfiguracji systemu Android, aby można było wprowadzić ją podczas konfigurowania aplikacji później.
Wybierz pozycję Gotowe.
Dodaj zależność MSAL i odpowiednie biblioteki do projektu
Aby dodać zależności biblioteki MSAL w projekcie systemu Android, wykonaj następujące kroki:
Otwórz projekt w programie Android Studio lub utwórz nowy projekt.
Otwórz w aplikacji element
build.gradle
i dodaj następujące zależności: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.+' //... }
build.gradle
W konfiguracji repozytoria są definiowane dla zależności projektu. Zawiera on adres URL repozytorium Maven dlacom.microsoft.device.display:display-mask
biblioteki z usługi Azure DevOps. Ponadto korzysta z repozytoriów Maven Central i Google. Sekcja zależności określa implementację biblioteki MSAL w wersji 5 i potencjalnie innych zależności.W programie Android Studio wybierz File>Sync Project with Gradle Files.
Dodawanie konfiguracji
Wymagane identyfikatory dzierżawcy, takie jak identyfikator aplikacji (klienta), są przekazywane do zestawu MSAL SDK za pomocą ustawienia konfiguracji JSON.
Wykonaj następujące kroki, aby utworzyć plik konfiguracji:
W okienku projektu programu Android Studio przejdź do app\src\main\res.
Kliknij prawym przyciskiem myszy pozycję res i wybierz Nowy>katalog. Wprowadź
raw
jako nazwę nowego katalogu i wybierz przycisk OK.W app>src>main>res>raw utwórz nowy plik JSON o nazwie
auth_config_single_account.json
i wklej zapisaną wcześniej konfigurację MSAL.Poniżej adresu URI przekierowania wklej:
"account_mode" : "SINGLE",
Plik konfiguracji powinien wyglądać podobnie do tego przykładu:
{ "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" } } ] }
W tym samouczku pokazano tylko, jak skonfigurować aplikację w trybie pojedynczego konta; aby uzyskać więcej informacji, zobacz tryb pojedynczego konta vs wielokontowy oraz konfigurowanie aplikacji.
Zalecamy użycie „WEBVIEW”. Jeśli chcesz skonfigurować "authorization_user_agent" jako "PRZEGLĄDARKA" w aplikacji, musisz wprowadzić następujące aktualizacje. a) Zaktualizuj auth_config_single_account.json, ustawiając "authorization_user_agent": "Przeglądarka". b) Zaktualizuj plik AndroidManifest.xml. W aplikacji przejdź do app>src>main>AndroidManifest.xml, dodaj
BrowserTabActivity
akcję jako element podrzędny<application>
elementu. Ten wpis umożliwia usłudze Microsoft Entra ID oddzwonienie do Twojej aplikacji po zakończeniu procesu uwierzytelniania.<!--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>
- Użyj nazwy pakietu, aby zamienić wartość
android:host=.
. Powinien wyglądać następująco:com.azuresamples.msalandroidapp
. - Użyj skrót podpisu, aby zamienić wartość
android:path=
. Upewnij się, że na początku skrótu podpisu znajduje się wiodący element/
. Powinien wyglądać następująco:/aB1cD2eF3gH4+iJ5kL6-mN7oP8q=
.
Te wartości można również znaleźć w zakładce Uwierzytelnianie w rejestracji Twojej aplikacji.
- Użyj nazwy pakietu, aby zamienić wartość
Tworzenie wystąpienia MSAL SDK
Aby zainicjować wystąpienie zestawu MSAL SDK, użyj następującego kodu:
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);
}
}
);
Ten kod tworzy publiczną aplikację kliencką pojedynczego konta przy użyciu pliku konfiguracji auth_config_single_account.json. Po pomyślnym utworzeniu aplikacji przypisuje wystąpienie do mSingleAccountApp
i wywołuje metodę loadAccount()
. Jeśli podczas tworzenia wystąpi błąd, obsługuje błąd, wywołując metodę displayError(exception).
Upewnij się, że dołączysz instrukcje importowania. Program Android Studio powinien automatycznie dołączać instrukcje importowania.