Udostępnij za pośrednictwem


Logowanie użytkowników w przykładowej aplikacji systemu Android (Kotlin)

W tym przewodniku pokazano, jak skonfigurować przykładową aplikację mobilną dla systemu Android w celu logowania użytkowników.

W tym artykule wykonasz następujące zadania:

  • Zarejestruj aplikację w centrum administracyjnym firmy Microsoft Entra.
  • Dodaj adres URL przekierowania platformy.
  • Włącz przepływy klientów publicznych.
  • Zaktualizuj przykładowy plik kodu konfiguracji systemu Android, aby użyć własnych Tożsamość zewnętrzna Microsoft Entra w celu uzyskania szczegółów dzierżawy klienta.
  • Uruchom i przetestuj przykładową aplikację mobilną systemu Android.

Wymagania wstępne

Rejestrowanie aplikacji

Aby umożliwić aplikacji logowanie użytkowników w usłudze Microsoft Entra, Tożsamość zewnętrzna Microsoft Entra należy pamiętać o tworzonej aplikacji. Rejestracja aplikacji ustanawia relację zaufania między aplikacją a firmą Microsoft Entra. Podczas rejestrowania aplikacji identyfikator zewnętrzny generuje unikatowy identyfikator znany jako identyfikator aplikacji (klienta) — wartość używana do identyfikowania aplikacji podczas tworzenia żądań uwierzytelniania.

W poniższych krokach pokazano, jak zarejestrować aplikację w centrum administracyjnym firmy Microsoft Entra:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako deweloper aplikacji.

  2. Jeśli masz dostęp do wielu dzierżaw, użyj ikony Ustawienia w górnym menu, aby przełączyć się do dzierżawy zewnętrznej z menu Katalogi i subskrypcje.

  3. Przejdź do aplikacji tożsamości>> Rejestracje aplikacji.

  4. Wybierz pozycję + Nowa rejestracja.

  5. Na wyświetlonej stronie Rejestrowanie aplikacji ;

    1. Wprowadź zrozumiałą nazwę aplikacji wyświetlaną użytkownikom aplikacji, na przykład ciam-client-app.
    2. W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym.
  6. Wybierz pozycję Zarejestruj.

  7. Po pomyślnej rejestracji zostanie wyświetlone okienko Przegląd aplikacji. Zarejestruj identyfikator aplikacji (klienta), który ma być używany w kodzie źródłowym aplikacji.

Dodawanie adresu URL przekierowania platformy

Aby określić typ aplikacji do rejestracji aplikacji, wykonaj następujące kroki:

  1. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
  2. Na stronie Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz opcję Android.
  3. Wprowadź nazwę pakietu projektu. Jeśli pobrano przykładowy kod, ta wartość to com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. W sekcji Skrót podpisu w okienku Konfigurowanie aplikacji systemu Android wybierz pozycję Generowanie skrótu sygnatury programistycznej. Spowoduje to zmianę dla każdego środowiska deweloperskiego. Skopiuj i uruchom polecenie KeyTool dla systemu operacyjnego w terminalu.
  5. Wprowadź skrót sygnatury wygenerowany przez element KeyTool.
  6. Wybierz Konfiguruj.
  7. Skopiuj konfigurację biblioteki MSAL z okienka konfiguracji systemu Android i zapisz ją w celu późniejszej konfiguracji aplikacji.
  8. Wybierz pozycję Gotowe.

Włączanie publicznego przepływu klienta

Aby zidentyfikować aplikację jako klienta publicznego, wykonaj następujące kroki:

  1. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.

  2. W obszarze Ustawienia zaawansowane w obszarze Zezwalaj na przepływy klientów publicznych wybierz pozycję Tak.

  3. Wybierz Zapisz, aby zapisać zmiany.

Po zarejestrowaniu aplikacji zostanie przypisane uprawnienie User.Read . Jednak ponieważ dzierżawa jest dzierżawą zewnętrzną, użytkownicy sami nie mogą wyrazić zgody na to uprawnienie. Administrator musi wyrazić zgodę na to uprawnienie w imieniu wszystkich użytkowników w dzierżawie:

  1. Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (np. ciam-client-app), aby otworzyć stronę Przegląd.

  2. W obszarze Zarządzanie wybierz pozycję Uprawnienia interfejsu API.

    1. Wybierz pozycję Udziel zgody administratora dla <swojej nazwy> dzierżawy, a następnie wybierz pozycję Tak.
    2. Wybierz pozycję Odśwież, a następnie sprawdź, czy dla nazwy dzierżawy jest wyświetlana wartość> w <obszarze Stan uprawnienia.

Klonowanie przykładowej aplikacji mobilnej dla systemu Android

Aby uzyskać przykładową aplikację, możesz ją sklonować z usługi GitHub lub pobrać jako plik .zip.

  • Aby sklonować przykład, otwórz wiersz polecenia i przejdź do miejsca, w którym chcesz utworzyć projekt, a następnie wprowadź następujące polecenie:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
    

Konfigurowanie przykładowej aplikacji mobilnej dla systemu Android

Aby włączyć uwierzytelnianie i dostęp do zasobów programu Microsoft Graph, skonfiguruj przykład, wykonując następujące kroki:

  1. W programie Android Studio otwórz sklonowany projekt.

  2. Otwórz plik /app/src/main/res/raw/auth_config_ciam.json .

  3. Znajdź symbol zastępczy:

    • Enter_the_Application_Id_Herezastąp ją identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej aplikacji.
    • Enter_the_Redirect_Uri_Here i zastąp ją wartością redirect_uri w pobranym wcześniej pliku konfiguracji biblioteki Microsoft Authentication Library (MSAL) po dodaniu adresu URL przekierowania platformy.
    • Enter_the_Tenant_Subdomain_Here i zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy to contoso.onmicrosoft.com, użyj polecenia contoso. Jeśli nie znasz poddomeny dzierżawy, dowiedz się, jak odczytywać szczegóły dzierżawy.
  4. Otwórz plik /app/src/main/AndroidManifest.xml .

  5. Znajdź symbol zastępczy:

    • ENTER_YOUR_SIGNATURE_HASH_HEREzastąp go skrótem sygnatury wygenerowaną wcześniej podczas dodawania adresu URL przekierowania platformy.
  6. Otwórz plik /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt .

  7. Znajdź właściwość o nazwie scopes i ustaw zakresy zarejestrowane w obszarze Udzielanie zgody administratora. Jeśli nie zarejestrowano żadnych zakresów, możesz pozostawić tę listę zakresów pustą.

    private const val scopes = "" // Developers should set the respective scopes of their Microsoft Graph resources here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
    

Skonfigurowano aplikację i wszystko jest gotowe do uruchomienia.

Uruchamianie i testowanie przykładowej aplikacji mobilnej dla systemu Android

Aby skompilować i uruchomić aplikację, wykonaj następujące kroki:

  1. Na pasku narzędzi wybierz aplikację z menu Konfiguracji uruchamiania.

  2. W menu urządzenia docelowego wybierz urządzenie, na którym chcesz uruchomić aplikację.

    Jeśli nie masz żadnych skonfigurowanych urządzeń, musisz utworzyć urządzenie wirtualne z systemem Android do korzystania z emulatora systemu Android lub połączyć fizyczne urządzenie z systemem Android.

  3. Wybierz przycisk Run (Uruchom).

  4. Wybierz pozycję Uzyskaj token interaktywnie , aby zażądać tokenu dostępu.

  5. Jeśli wybierzesz pozycję INTERFEJS API — wykonaj polecenie GET , aby wywołać chroniony internetowy interfejs API ASP.NET Core, zostanie wyświetlony błąd.

Aby uzyskać więcej informacji na temat wywoływania chronionego internetowego interfejsu API, zobacz nasze następne kroki

Następne kroki