Logowanie użytkowników w przykładowej aplikacji mobilnej systemu Android (Kotlin) przy użyciu uwierzytelniania natywnego

W tym przewodniku pokazano, jak uruchomić przykładową aplikację dla systemu Android, która demonstruje scenariusze rejestracji, logowania, wylogowania i resetowania haseł przy użyciu natywnego uwierzytelniania firmy Microsoft Entra.

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Zarejestruj aplikację w dzierżawie zewnętrznej.
  • Włącz przepływy uwierzytelniania publicznego i natywnego klienta.
  • Utwórz przepływ użytkownika w dzierżawie zewnętrznej.
  • Skojarz aplikację z przepływem użytkownika.
  • Zaktualizuj przykładowy plik kodu konfiguracji systemu Android, aby użyć własnych Tożsamość zewnętrzna Microsoft Entra w celu uzyskania szczegółowych informacji o dzierżawie zewnętrznej.
  • Uruchom i przetestuj przykładową natywną 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.

Włączanie przepływów uwierzytelniania publicznego klienta i natywnych

Aby określić, że ta aplikacja jest klientem publicznym i może używać uwierzytelniania natywnego, włącz przepływy uwierzytelniania publicznego i natywnego klienta:

  1. Na stronie rejestracje aplikacji wybierz rejestrację aplikacji, dla której chcesz włączyć przepływy uwierzytelniania publicznego klienta i natywnego uwierzytelniania.
  2. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
  3. W obszarze Ustawienia zaawansowane zezwalaj na przepływy klientów publicznych:
    1. W obszarze Włącz następujące przepływy mobilne i klasyczne wybierz pozycję Tak.
    2. W obszarze Włącz uwierzytelnianie natywne wybierz pozycję Tak.
  4. Wybierz przycisk Zapisz .
  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. Z listy Skonfigurowane uprawnienia aplikacja została przypisana do uprawnienia User.Read. Jednak ponieważ dzierżawa jest dzierżawą zewnętrzną, użytkownicy konsumentów 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. 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 w obszarze Stan dla obu zakresów jest wyświetlana wartość Przyznane dla <nazwy> dzierżawy.

Tworzenie przepływu użytkownika

Wykonaj następujące kroki, aby utworzyć przepływ użytkownika.

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

  2. Jeśli masz dostęp do wielu dzierżaw, upewnij się, że używasz katalogu zawierającego dzierżawę zewnętrzną:

    1. Wybierz ikonę Katalogi i subskrypcje na pasku narzędzi.
    2. W ustawieniach portalu | Strona Katalogi i subskrypcje , znajdź zewnętrzny katalog dzierżawy na liście Nazwa katalogu, a następnie wybierz pozycję Przełącz.
  3. W menu paska bocznego wybierz pozycję Tożsamość.

  4. Wybierz pozycję Przepływy> użytkowników tożsamości zewnętrznych.

  5. Wybierz pozycję + Nowy przepływ użytkownika.

  6. Na stronie Tworzenie:

    1. Wprowadź nazwę przepływu użytkownika, na przykład SignInSignUpSample.

    2. Na liście Dostawcy tożsamości wybierz pozycję Konta e-mail. Ten dostawca tożsamości umożliwia użytkownikom logowanie się lub tworzenie konta przy użyciu ich adresu e-mail.

    3. W obszarze Konta e-mail możesz wybrać jedną z dwóch opcji. Na potrzeby tego samouczka wybierz pozycję Wyślij jednorazowy kod dostępu pocztą e-mail.

      • Wiadomość e-mail z hasłem: umożliwia nowym użytkownikom zarejestrowanie się i zalogowanie się przy użyciu adresu e-mail jako nazwy logowania i hasła jako poświadczeń pierwszego czynnika.
      • Jednorazowy kod dostępu poczty e-mail: umożliwia nowym użytkownikom zarejestrowanie się i zalogowanie się przy użyciu adresu e-mail jako nazwy logowania i jednorazowego kodu dostępu jako pierwszego poświadczenia czynnika. Aby ta opcja została udostępniona na poziomie przepływu użytkownika, upewnij się, że włączono jednorazowy kod dostępu poczty e-mail (OTP) na poziomie dzierżawy (wybierz pozycję Wszyscy dostawcy tożsamości, a następnie w polu Wyślij wiadomość e-mail jednorazowy kod dostępu wybierz pozycję Skonfigurowane, wybierz opcję Tak, a następnie wybierz pozycję Zapisz).
    4. W obszarze Atrybuty użytkownika możesz wybrać atrybuty, które chcesz zebrać od użytkownika podczas rejestracji. W tym przewodniku wybierz pozycję Kraj/Region i Miasto.

  7. Wybierz pozycję Utwórz. Nowy przepływ użytkownika zostanie wyświetlony na liście Przepływy użytkownika. W razie potrzeby odśwież stronę.

Kojarzenie aplikacji z przepływem użytkownika

Aby użytkownicy klienta widzieli środowisko rejestracji lub logowania podczas korzystania z aplikacji, musisz skojarzyć aplikację z przepływem użytkownika. Chociaż wiele aplikacji może być skojarzonych z przepływem użytkownika, pojedyncza aplikacja może być skojarzona tylko z jednym przepływem użytkownika.

  1. W menu paska bocznego wybierz pozycję Tożsamość.

  2. Wybierz pozycję Tożsamości zewnętrzne, a następnie przepływy użytkownika.

  3. Na stronie Przepływy użytkownika wybierz utworzoną wcześniej nazwę przepływu użytkownika, na przykład SignInSignUpSample.

  4. W obszarze Użyj wybierz pozycję Aplikacje.

  5. Wybierz Dodaj aplikację.

  6. Wybierz aplikację z listy, na przykład ciam-client-app , lub użyj pola wyszukiwania, aby znaleźć aplikację, a następnie wybierz ją.

  7. Naciśnij przycisk Wybierz.

Po skojarzeniu aplikacji z przepływem użytkownika możesz przetestować przepływ użytkownika, symulując środowisko rejestracji lub logowania użytkownika z poziomu centrum administracyjnego firmy Microsoft Entra. W tym celu wykonaj kroki opisane w artykule Testowanie przepływu rejestracji i logowania użytkownika.

Klonowanie przykładowej aplikacji mobilnej dla systemu Android

  1. Otwórz terminal i przejdź do katalogu, w którym chcesz zachować kod.

  2. Sklonuj aplikację z usługi GitHub, uruchamiając następujące polecenie:

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

Konfigurowanie przykładowej aplikacji mobilnej dla systemu Android

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

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

  3. Znajdź symbol zastępczy:

    • Enter_the_Application_Id_Herezastąp ją identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej aplikacji.
    • 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.

Aplikacja została skonfigurowana i jest gotowa 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). Aplikacja otwiera ekran Poczta e-mail i OTP .

    Zrzut ekranu przedstawiający monit użytkownika o wprowadzenie wiadomości e-mail w aplikacji systemu Android.

  4. Wprowadź prawidłowy adres e-mail, a następnie wybierz przycisk Zarejestruj się . Aplikacja otwiera ekran przesyłania kodu i otrzymujesz kod OTP na adresie e-mail.

    Zrzut ekranu przedstawiający monit użytkownika o wprowadzenie jednorazowego kodu dostępu w aplikacji systemu Android.

  5. Wprowadź kod OTP otrzymany w skrzynce odbiorczej poczty e-mail, a następnie wybierz pozycję Dalej. Jeśli rejestracja zakończy się pomyślnie, aplikacja zostanie automatycznie zalogowana. Jeśli nie otrzymasz kodu OTP w skrzynce odbiorczej poczty e-mail, możesz wysłać go ponownie po pewnym czasie, wybierając pozycję Wyślij ponownie kod dostępu.

    Zrzut ekranu przedstawiający pomyślne ukończenie logowania w aplikacji systemu Android.

  6. Aby się wylogować, wybierz przycisk Wyloguj się .

Inne scenariusze obsługiwane przez ten przykład

Ta przykładowa aplikacja obsługuje również następujące przepływy uwierzytelniania:

  • Adres e-mail i hasło obejmuje przepływy logowania lub rejestracji przy użyciu wiadomości e-mail z hasłem.
  • Rejestracja za pomocą poczty e-mail i hasła z atrybutami użytkownika obejmuje rejestrację za pomocą poczty e-mail i hasła oraz przesyłanie atrybutów użytkownika.
  • Resetowanie hasła obejmuje samoobsługowe resetowanie hasła (SSPR).
  • Interfejs API chroniony dostęp obejmuje wywoływanie chronionego interfejsu API po pomyślnym zarejestrowaniu się lub zalogowaniu użytkownika i uzyskaniu tokenu dostępu.
  • Powrót do przeglądarki internetowej obejmuje korzystanie z uwierzytelniania opartego na przeglądarce jako mechanizmu rezerwowego, gdy użytkownik nie może ukończyć uwierzytelniania za pomocą uwierzytelniania natywnego z jakiegokolwiek powodu.

Testowanie poczty e-mail przy użyciu przepływu haseł

W tej sekcji przetestujesz pocztę e-mail z przepływem haseł z jego wariantami, takimi jak poczta e-mail z rejestracją przy użyciu haseł z atrybutami użytkownika i samoobsługowym resetowaniem hasła:

  1. Wykonaj kroki opisane w temacie Tworzenie przepływu użytkownika, aby utworzyć nowy przepływ użytkownika, ale tym razem wybierz pozycję Wyślij wiadomość e-mail z hasłem jako metodę uwierzytelniania. Musisz skonfigurować kraj/region i miasto jako atrybuty użytkownika. Alternatywnie możesz zmodyfikować istniejący przepływ użytkownika, aby używał poczty e-mail z hasłem (Wybierz przepływy>tożsamości zewnętrznych Przepływy>użytkownika SignInSignUpSample>Dostawcy>tożsamości E-mail z hasłem Zapisz).>

  2. Wykonaj kroki opisane w artykule Kojarzenie aplikacji z nowym przepływem użytkownika, aby dodać aplikację do nowego przepływu użytkownika.

  3. Uruchom przykładową aplikację, a następnie wybierz menu wielokropka (...), aby otworzyć więcej opcji.

  4. Wybierz scenariusz, który chcesz przetestować, na przykład Adres e-mail i hasło lub Adres e-mail i hasło rejestracji przy użyciu atrybutów użytkownika lub Resetowanie hasła, a następnie postępuj zgodnie z monitami. Aby przetestować resetowanie hasła, musisz najpierw zarejestrować użytkownika i włączyć jednorazowy kod dostępu poczty e-mail dla wszystkich użytkowników w dzierżawie.

Testowanie wywołania chronionego przepływu interfejsu API

Wykonaj kroki opisane w temacie Wywoływanie chronionego internetowego interfejsu API w przykładowej aplikacji mobilnej systemu Android przy użyciu uwierzytelniania natywnego w celu wywołania chronionego internetowego interfejsu API z przykładowej aplikacji mobilnej systemu Android.

Następne kroki