Logowanie użytkowników w przykładowej aplikacji systemu Android (Kotlin) przy użyciu uwierzytelniania natywnego
Dotyczy: Pracownicy Workforce
Zewnętrzni dzierżawcy (dowiedz się więcej)
W tym przewodniku Szybki start dowiesz się, jak uruchomić przykładową aplikację systemu Android, która demonstruje scenariusze rejestracji, logowania, wylogowania i resetowania hasła przy użyciu natywnego uwierzytelniania firmy Microsoft Entra.
Warunki wstępne
- programu Android Studio.
- Zewnętrzny najemca. Jeśli jeszcze go nie masz, utwórz konto bezpłatnej wersji próbnej.
Rejestrowanie aplikacji
Aby umożliwić aplikacji logowanie użytkowników za pomocą Microsoft Entra, Microsoft Entra External ID musi być poinformowany 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:
Zaloguj się do centrum administracyjnego Microsoft Entra jako co najmniej Deweloper Aplikacji.
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.
Przejdź do Identity>Applications>Rejestracja aplikacji.
Wybierz pozycję + Nowa rejestracja.
Na wyświetlonej stronie Zarejestruj aplikację;
- Wprowadź zrozumiałą aplikację Nazwa wyświetlaną użytkownikom aplikacji, na przykład ciam-client-app.
- W obszarze Obsługiwane typy kontwybierz pozycję konta w tym katalogu organizacyjnym tylko.
Wybierz pozycję Zarejestruj.
Po pomyślnym zarejestrowaniu zostanie wyświetlone okienko Przegląd aplikacji. Zapisz identyfikator aplikacji (klienta) do użycia w kodzie źródłowym aplikacji.
Włącz publiczne przepływy klienta i natywne przepływy uwierzytelniania
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:
- Na stronie rejestracji aplikacji wybierz rejestrację aplikacji, dla której chcesz włączyć przepływy uwierzytelniania klienta publicznego i natywnego.
- W obszarze Zarządzajwybierz pozycję Uwierzytelnianie.
- W obszarze Ustawienia zaawansowanezezwalaj na przepływy klientów publicznych:
- W przypadku włącz następujące przepływy mobilne i klasyczne wybierz pozycję Tak.
- Aby włączyć uwierzytelnianie natywne, wybierz Tak.
- Kliknij przycisk Zapisz.
Udzielanie zgody administratora
Po zarejestrowaniu aplikacji zostanie przypisane uprawnienie User.Read. Jednak ponieważ najemca jest najemcą zewnętrznym, użytkownicy klienta sami nie mogą wyrazić zgody na to uprawnienie. Ty jako administrator dzierżawy musisz wyrazić zgodę na to uprawnienie w imieniu wszystkich użytkowników w dzierżawie.
Na stronie rejestracje aplikacji wybierz utworzoną aplikację (taką jak ciam-client-app), aby otworzyć stronę Przegląd.
W obszarze Zarządzajwybierz uprawnienia interfejsu API.
- Wybierz pozycję Udziel zgody administratora <nazwę dzierżawy>, a następnie wybierz pozycję Tak.
- Wybierz pozycję Odśwież, a następnie sprawdź, czy udzielono <nazwa dzierżawy> jest wyświetlana w obszarze Stan dla uprawnienia.
Tworzenie przepływu użytkownika
Wykonaj następujące kroki, aby utworzyć przepływ użytkownika.
Zaloguj się do centrum administracyjnego Microsoft Entra jako co najmniej Deweloper aplikacji.
Jeśli masz dostęp do wielu dzierżaw, upewnij się, że używasz katalogu zawierającego swoją dzierżawę zewnętrzną:
- Wybierz ikonę Katalogi i subskrypcje na pasku narzędzi.
- W ustawieniach portalu | Katalogi i subskrypcje, znajdź zewnętrzny katalog dzierżawy na liście nazwy katalogu, a następnie wybierz Przełącz.
W menu paska bocznego wybierz pozycję Identity.
Wybierz pozycję Tożsamości zewnętrzne>Przepływy użytkownika.
Wybierz opcję + Utwórz nowy przepływ użytkownika.
Na stronie "Utwórz" :
Wprowadź nazwę dla przepływu użytkownika, na przykład SignInSignUpSample.
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.
W obszarze Konta e-mailmożesz wybrać jedną z dwóch opcji. Na potrzeby tego samouczka wybierz pozycję Jednorazowy kod dostępu e-mail.
- Adres e-mail z hasłem: pozwala nowym użytkownikom na rejestrację i logowanie się przy użyciu adresu e-mail jako nazwy logowania oraz hasła jako pierwszego elementu uwierzytelniającego.
- Jednorazowy kod dostępu e-mail: Umożliwia nowym użytkownikom zarejestrowanie się i zalogowanie się przy użyciu adresu e-mail jako nazwy użytkownika oraz jednorazowego kodu dostępu jako poświadczenia pierwszego czynnika. Aby ta opcja została udostępniona na poziomie przepływu użytkownika, upewnij się, że na poziomie dzierżawy włączysz jednorazowy kod dostępu przez e-mail (OTP) (wybierz opcję Wszyscy dostawcy tożsamości, a następnie dla jednorazowy kod dostępu przez e-mail wybierz pozycję Skonfigurowano, wybierz opcję Tak, a następnie wybierz opcję Zapisz).
W obszarze Atrybuty użytkownikamożesz wybrać atrybuty, które chcesz zebrać od użytkownika podczas rejestracji. W tym przewodniku wybierz pozycję Kraj/Region i Miasto.
Wybierz pozycję Utwórz. Nowy przepływ użytkownika pojawi się na liście przepływów użytkownika. W razie potrzeby odśwież stronę.
Kojarzenie aplikacji z przepływem użytkownika
Aby użytkownicy widzieli proces 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.
W menu bocznym wybierz pozycję Identity.
Wybierz pozycję Zewnętrzne tożsamości, a następnie przepływy użytkowników.
Na stronie Przepływy użytkownika wybierz nazwę przepływu użytkownika utworzoną wcześniej, na przykład SignInSignUpSample.
W obszarze Użyj, wybierz Aplikacje.
Wybierz pozycję Dodaj aplikację.
Wybierz aplikację z listy, na przykład ciam-client-app lub użyj pola wyszukiwania, aby znaleźć aplikację, a następnie wybierz ją.
Wybierz pozycję 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 Testowanie przepływu rejestracji i logowania użytkownika.
Klonowanie przykładowej aplikacji mobilnej dla systemu Android
Otwórz terminal i przejdź do katalogu, w którym chcesz zachować kod.
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
W programie Android Studio otwórz sklonowany projekt.
Otwórz plik app/src/main/res/raw/native_auth_sample_app_config.json.
Znajdź symbol zastępczy:
- Zastąp
Enter_the_Application_Id_Here
identyfikatorem aplikacji (klienta) , którą zarejestrowałeś wcześniej. -
Enter_the_Tenant_Subdomain_Here
i zastąp ją poddomeną katalogową (dzierżawcy). Jeśli na przykład domena podstawowa dzierżawy jestcontoso.onmicrosoft.com
, użyjcontoso
. Jeśli nie znasz poddomeny dzierżawcy, dowiedz się, jak sprawdzić szczegóły dzierżawcy.
- Zastąp
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:
Na pasku narzędzi wybierz aplikację z menu Konfiguracji uruchamiania.
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.
Wybierz przycisk Uruchom. Aplikacja otwiera ekran Email & OTP.
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.
Wprowadź kod OTP otrzymany w skrzynce odbiorczej poczty e-mail i wybierz pozycję Dalej. Jeśli rejestracja zakończy się pomyślnie, aplikacja automatycznie zaloguje Cię. 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.
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:
- E-mail i hasło obejmuje procesy logowania lub rejestracji za pomocą e-maila i hasła.
- Rejestracja e-mail i hasło 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).
- chroniony interfejs API obejmuje wywołanie chronionego interfejsu API po pomyślnym zarejestrowaniu się lub zalogowaniu użytkownika i kiedy użytkownik uzyska token dostępu.
- Rezerwowy mechanizm do przeglądarki internetowej obejmuje użycie uwierzytelniania opartego na przeglądarce jako mechanizmu rezerwowego, w sytuacji gdy użytkownik z jakiegokolwiek powodu nie może ukończyć uwierzytelniania przez uwierzytelnianie wbudowane.
Testowanie poczty e-mail przy użyciu przepływu haseł
W tej sekcji przetestujesz proces logowania z wykorzystaniem e-maila i hasła oraz jego warianty, takie jak rejestracja przy użyciu e-maila i hasła z atrybutami użytkownika oraz samoobsługowe resetowanie hasła.
Wykonaj kroki opisane w utworzenia przepływu użytkownika, aby utworzyć nowy przepływ użytkownika, ale tym razem wybierz pozycję Wiadomość e-mail z hasłem jako metodę uwierzytelniania. Należy skonfigurować kraj/region i City jako atrybuty użytkownika. Alternatywnie można zmodyfikować istniejący przepływ użytkownika, aby użyć E-mail z hasłem (wybierz zewnętrzna tożsamość>przepływy użytkowników>SignInSignUpSample>dostawcy tożsamości>E-mail z hasłem>Zapisz).
Wykonaj kroki opisane w , aby powiązać aplikację z nowym przepływem użytkownika, i dodać aplikację do tego przepływu.
Uruchom przykładową aplikację, a następnie wybierz menu wielokropka (...), aby otworzyć więcej opcji.
Wybierz scenariusz, który chcesz przetestować, na przykład e-mail i hasło lub Adres e-mail i rejestracja hasłem z atrybutami 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.
Test wywołania interfejsu API z ochroną
Wykonaj kroki opisane w Wywoływanie chronionego internetowego interfejsu API w przykładowej aplikacji mobilnej systemu Android przy użyciu natywnego uwierzytelniania w celu wywołania chronionego internetowego interfejsu API z przykładowej aplikacji mobilnej systemu Android.