Logowanie użytkowników w przykładowej aplikacji mobilnej systemu iOS (Swift) przy użyciu uwierzytelniania natywnego
Dotyczy: Najemcy Workforce
Zewnętrzni najemcy (więcej informacji)
Z tego przewodnika Szybki start dowiesz się, jak uruchomić przykładową aplikację dla systemu iOS, która demonstruje scenariusze rejestracji, logowania, wylogowania i resetowania haseł przy użyciu identyfikatora zewnętrznego firmy Microsoft.
Warunki wstępne
- Xcode
- Zewnętrzny najemca. Jeśli jeszcze go nie masz, zarejestruj się dla bezpłatnej wersji próbnej
Rejestrowanie aplikacji
Aby umożliwić aplikacji logowanie użytkowników za pomocą Microsoft Entra, usługa Microsoft Entra External ID musi rozpoznać tworzoną aplikację. 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 co najmniej Application Developer.
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>Rejestracje aplikacji.
Wybierz + Nowa rejestracja.
Na stronie Zarejestruj aplikację, która się wyświetla;
- Wprowadź znaczącą nazwę aplikacji Nazwa, która będzie wyświetlana użytkownikom aplikacji, na przykład ciam-client-app.
- W obszarze Obsługiwane typy kontwybierz opcję Tylko konta w tym katalogu organizacyjnym.
Wybierz pozycję Zarejestruj.
Okienko Przegląd aplikacji zostanie wyświetlone po pomyślnym zarejestrowaniu. Zapisz identyfikator aplikacji (klienta) do użycia w kodzie źródłowym aplikacji.
Włączanie przepływów uwierzytelniania klienta publicznego i natywnego
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ę, dla której chcesz włączyć przepływy uwierzytelniania klienta publicznego i natywnego.
- W obszarze Zarządzajwybierz pozycję Uwierzytelnianie.
- W obszarze Ustawienia zaawansowanezezwalaj na publiczne przepływy klientów:
- W przypadku włącz następujące przepływy mobilne i pulpitowe, wybierz pozycję Tak.
- Dla opcji Włączanie uwierzytelniania natywnegowybierz Tak.
- Wybierz przycisk Zapisz.
Udzielanie zgody administratora
Po zarejestrowaniu aplikacji zostanie przypisane uprawnienie User.Read. Jednak ponieważ najemca jest najemcą zewnętrznym, użytkownicy sami nie mogą wyrazić zgody na te uprawnienia. Jako administrator dzierżawy musisz wyrazić zgodę na to uprawnienie w imieniu wszystkich użytkowników w ramach dzierżawy.
Na stronie rejestracji aplikacji wybierz aplikację, którą utworzyłeś (taką jak ciam-client-app), aby otworzyć stronę Przegląd.
W obszarze Zarządzajwybierz pozycję uprawnienia interfejsu API .
- Wybierz Udziel zgody administracyjnej dla <nazwy dzierżawcy>, a następnie wybierz 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 dzierżawę zewnętrzną:
- Wybierz ikonę Katalogi i subskrypcje na pasku narzędzi.
- W ustawieniach portalu na stronie | Katalogi i subskrypcje, znajdź zewnętrzny katalog dzierżawy na liście o nazwie katalogu , a następnie wybierz pozycję Przełącz.
W pasku bocznym menu wybierz pozycję Identity.
Wybierz pozycję Tożsamości zewnętrzne>Przepływy użytkownika.
Wybierz + Nowy przepływ użytkowników.
Na stronie tworzenie :
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 opcję Jednorazowy kod dostępu przez e-mail.
- Adres 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 pierwszego środka uwierzytelniania.
- Jednorazowy kod uwierzytelniający e-mail: pozwala nowym użytkownikom zarejestrować się i zalogować przy użyciu adresu e-mail jako nazwy logowania i jednorazowego kodu uwierzytelniającego jako poświadczenia pierwszego stopnia. Aby ta opcja była dostępna na poziomie przepływu użytkownika, upewnij się, że na poziomie dzierżawy włączasz jednorazowy kod dostępu przez e-mail (OTP) (wybierz Wszyscy dostawcy tożsamości, a następnie dla Jednorazowy kod dostępu przez e-mail wybierz Skonfigurowano, wybierz opcję Tak, a następnie wybierz Zapisz).
W obszarze Atrybuty użytkownikamożesz wybrać atrybuty, które chcesz zebrać od użytkownika podczas rejestracji. W tym przewodniku wybierz Kraj/Region oraz Miasto.
Wybierz pozycję Utwórz. Nowy przepływ użytkownika pojawia 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 końcowi 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 Zewnętrzne Tożsamości, a następnie Przepływy Użytkownika.
Na stronie Przepływy użytkownika wybierz nazwę przepływu użytkownika utworzoną wcześniej, na przykład SignInSignUpSample.
W obszarze Użyjwybierz pozycję 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 iOS
Otwórz terminal i przejdź do katalogu, w którym chcesz zachować kod.
Sklonuj aplikację mobilną systemu iOS z usługi GitHub, uruchamiając następujące polecenie:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git
Przejdź do katalogu, w którym sklonowano repozytorium:
cd ms-identity-ciam-native-auth-ios-sample
Konfigurowanie przykładowej aplikacji mobilnej dla systemu iOS
W programie Xcode otwórz projekt NativeAuthSampleApp.xcodeproj.
Otwórz plik NativeAuthSampleApp/Configuration.swift.
Znajdź symbol zastępczy:
-
Enter_the_Application_Id_Here
i zastąp go identyfikatorem aplikacji (klienta) aplikacji, którą zarejestrowałeś wcześniej. -
Enter_the_Tenant_Subdomain_Here
i zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy tocontoso.onmicrosoft.com
, użyj contoso. Jeśli nie masz poddomeny dzierżawy, dowiedz się, jak przeczytać szczegóły dzierżawy.
-
Notatka
Pamiętaj, aby wybrać schemat do skompilowania i miejsce docelowe, w którym uruchamiasz zbudowane produkty. Każdy schemat zawiera listę rzeczywistych lub symulowanych urządzeń reprezentujących dostępne miejsca docelowe.
Uruchamianie i testowanie przykładowej aplikacji mobilnej dla systemu iOS
Aby skompilować i uruchomić kod, wybierz pozycję Uruchom z menu Product w programie Xcode. Po pomyślnej kompilacji środowisko Xcode uruchomi przykładową aplikację w symulatorze.
Przewodnik testuje użycie jednorazowego kodu dostępu z wiadomości e-mail. Wprowadź prawidłowy adres e-mail, wybierz pozycję Zarejestruj się, a następnie otwórz ekran przesyłania kodu:
Po wprowadzeniu adresu e-mail na poprzednim ekranie aplikacja wyśle do niego kod weryfikacyjny. Po przesłaniu otrzymanego kodu aplikacja wróci do poprzedniego ekranu i automatycznie się zaloguje.
Inne scenariusze obsługiwane przez ten przykład
Przykładowa aplikacja obsługuje następujące przepływy:
- adres e-mail i hasło obejmują procesy logowania lub rejestracji przy użyciu adresu e-mail 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).
- Dostęp do chronionego API obejmuje wywołanie chronionego interfejsu API po tym, jak użytkownik pomyślnie zarejestruje się lub zaloguje i uzyska token dostępu.
- fallback do przeglądarki internetowej obejmuje użycie 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:
Użyj kroków opisanych w , aby utworzyć nowy przepływ użytkownika, ale tym razem wybierz 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ętrzne tożsamości>Przepływy użytkowników>SignInSignUpSample>Dostawcy tożsamości>E-mail z hasłem>zapisz).
Kierując się krokami opisanymi w , połącz aplikację z nowym przepływem użytkownika, aby dodać aplikację do nowego przepływu użytkownika.
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, najpierw musisz zarejestrować użytkownika i włączyć jednorazowy kod dostępu przesyłany e-mailem dla wszystkich użytkowników w Twojej dzierżawie.
Testowanie wywołania chronionego przepływu interfejsu API
Wykonaj kroki opisane w Wywoływanie chronionego internetowego interfejsu API w przykładowej aplikacji mobilnej systemu iOS przy użyciu natywnego uwierzytelniania w celu wywołania chronionego internetowego interfejsu API z przykładowej aplikacji mobilnej systemu Android.