Logowanie użytkowników w przykładowej aplikacji mobilnej systemu iOS (Swift)
W tym przewodniku pokazano, jak skonfigurować przykładową aplikację mobilną dla systemu iOS 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 iOS, 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ą aplikację mobilną dla systemu iOS.
Wymagania wstępne
- Xcode.
- Dzierżawa zewnętrzna. Jeśli jeszcze go nie masz, utwórz konto bezpłatnej wersji próbnej.
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:
Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako 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 aplikacji tożsamości>> Rejestracje aplikacji.
Wybierz pozycję + Nowa rejestracja.
Na wyświetlonej stronie Rejestrowanie aplikacji ;
- Wprowadź zrozumiałą nazwę aplikacji wyświetlaną użytkownikom aplikacji, na przykład ciam-client-app.
- W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym.
Wybierz pozycję Zarejestruj.
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:
- W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
- Na stronie Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz opcję iOS/macOS.
- Wprowadź identyfikator pakietu projektu. Jeśli pobrano przykładowy kod, ta wartość to
com.microsoft.identitysample.ciam.MSALiOS
. - Wybierz pozycję Konfiguruj i zapisz konfigurację biblioteki MSAL wyświetlaną w okienku konfiguracji systemu iOS/macOS, aby później można było wprowadzić ją podczas konfigurowania aplikacji.
- Wybierz pozycję Gotowe.
Włączanie publicznego przepływu klienta
Aby zidentyfikować aplikację jako klienta publicznego, wykonaj następujące kroki:
W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
W obszarze Ustawienia zaawansowane w obszarze Zezwalaj na przepływy klientów publicznych wybierz pozycję Tak.
Wybierz Zapisz, aby zapisać zmiany.
Wyrażanie zgody administratora
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:
Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (np. ciam-client-app), aby otworzyć stronę Przegląd.
W obszarze Zarządzanie wybierz pozycję Uprawnienia interfejsu API.
- Wybierz pozycję Udziel zgody administratora dla <swojej nazwy> dzierżawy, a następnie wybierz pozycję Tak.
- 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 iOS
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-ios-sample.git
Konfigurowanie przykładowej aplikacji mobilnej dla systemu iOS
Aby włączyć uwierzytelnianie i dostęp do zasobów programu Microsoft Graph, skonfiguruj przykład, wykonując następujące kroki:
W programie Xcode otwórz sklonowany projekt.
Otwórz plik /MSALiOS/Configuration.swift .
Znajdź symbol zastępczy:
Enter_the_Application_Id_Here
zastąp ją identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej aplikacji.Enter_the_Redirect_URI_Here
zastąp go wartością kRedirectUri w pobranym wcześniej pliku konfiguracji biblioteki Microsoft Authentication Library (MSAL) po dodaniu adresu URL przekierowania platformy.Enter_the_Protected_API_Scopes_Here
i zastąp go zakresami zarejestrowanymi w aplikacji Grant admin concent. Jeśli nie zarejestrowano żadnych zakresów, możesz pozostawić tę listę zakresów pustą.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 poleceniacontoso
. Jeśli nie znasz poddomeny dzierżawy, dowiedz się, jak odczytywać szczegóły dzierżawy.
Skonfigurowano aplikację i wszystko jest gotowe do uruchomienia.
Uruchamianie i testowanie przykładowej aplikacji systemu iOS
Aby skompilować i uruchomić aplikację, wykonaj następujące kroki:
- Aby skompilować i uruchomić kod, wybierz pozycję Uruchom z menu Produkt w programie Xcode. Po pomyślnej kompilacji środowisko Xcode uruchomi przykładową aplikację w symulatorze.
- Wybierz pozycję Uzyskaj token interaktywnie , aby zażądać tokenu dostępu.
- 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 następne kroki