Uwierzytelnianie natywne w Tożsamość zewnętrzna Microsoft Entra

Dotyczy: Zielone kółko z białym symbolem haczyka, które wskazuje, że poniższa treść dotyczy najemców zewnętrznych. Najemcy zewnętrzni (dowiedz się więcej)

Natywne uwierzytelnianie Microsoft Entra daje pełną kontrolę nad projektowaniem środowiska logowania aplikacji mobilnych i desktopowych. W przeciwieństwie do rozwiązań opartych na przeglądarce, uwierzytelnianie natywne umożliwia tworzenie atrakcyjnych wizualnie ekranów uwierzytelniania, które bezproblemowo łączą się z interfejsem aplikacji. Dzięki temu podejściu można w pełni dostosować interfejs użytkownika, w tym elementy projektowe, umieszczanie logo i układ, zapewniając spójny i markowy wygląd.

Standardowy proces logowania aplikacji, który opiera się na uwierzytelnianiu delegowanym przez przeglądarkę, często powoduje zakłócenie procesu uwierzytelniania. Użytkownicy są tymczasowo przekierowywani do przeglądarki systemowej w celu uwierzytelnienia, a następnie wracają do aplikacji po zakończeniu logowania.

Chociaż uwierzytelnianie delegowane przez przeglądarkę oferuje korzyści, takie jak ograniczone wektory ataków i obsługa logowania jednokrotnego, oferuje ograniczone opcje dostosowywania interfejsu użytkownika.

Kiedy należy używać uwierzytelniania natywnego

Jeśli chodzi o implementację uwierzytelniania dla aplikacji mobilnych i komputerowych w ramach zewnętrznego identyfikatora, dostępne są dwie opcje:

  • Uwierzytelnianie delegowane przeglądarki hostowane przez Microsoft.
  • Całkowicie dostosowane do potrzeb natywne uwierzytelnianie oparte na zestawie SDK.

Wybrane podejście zależy od konkretnych wymagań aplikacji. Chociaż każda aplikacja ma unikatowe potrzeby uwierzytelniania, należy pamiętać o kilku typowych zagadnieniach. Niezależnie od tego, czy wybierasz uwierzytelnianie natywne, czy uwierzytelnianie delegowane w przeglądarce, Tożsamość zewnętrzna Microsoft Entra obsługuje oba te elementy.

Aby zapoznać się z równoległym porównaniem tych dwóch podejść, w tym dostępności funkcji, obsługiwanych języków i struktur, środowiska użytkownika, dostosowywania i kompromisów zabezpieczeń, zobacz Wybieranie podejścia do uwierzytelniania.

Jak włączyć uwierzytelnianie natywne

Najpierw zapoznaj się z wytycznymi dotyczącymi tego, kiedy należy używać uwierzytelniania natywnego. Następnie należy przeprowadzić wewnętrzną dyskusję z właścicielem, projektantem i zespołem deweloperów aplikacji w celu ustalenia, czy konieczne jest uwierzytelnianie natywne.

Jeśli Twój zespół ustali, że dla aplikacji niezbędne jest uwierzytelnianie natywne, wykonaj następujące kroki, aby włączyć uwierzytelnianie natywne w centrum administracyjne Microsoft Entra:

  1. Zaloguj się do centrum administracyjne Microsoft Entra.
  2. Przejdź do Rejestracje aplikacji i wybierz rejestrację aplikacji, dla której chcesz włączyć przepływy uwierzytelniania klienta publicznego i natywnego.
  3. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
  4. Na karcie Konfiguracja identyfikatora URI przekierowania zezwalaj na przepływy klientów publicznych:
    1. Aby włączyć następujące przepływy mobilne i na komputery stacjonarne, wybierz Tak.
    2. W przypadku Włączuwierzytelniania natywnego wybierz pozycję Tak.
  5. Wybierz przycisk Zapisz .

Aktualizowanie kodu konfiguracji

Po włączeniu natywnych interfejsów API uwierzytelniania w centrum administracyjnym nadal trzeba zaktualizować kod konfiguracji aplikacji w celu obsługi natywnych przepływów uwierzytelniania dla systemu Android lub iOS/macOS. W tym celu należy dodać pole typu wyzwania do konfiguracji. Typy wyzwań to lista wartości używanych przez aplikację do powiadamiania Microsoft Entra o obsługiwanej przez nią metodzie uwierzytelniania. Więcej informacji na temat natywnych typów wyzwań uwierzytelniania można znaleźć w artykule Native authentication challenge types (Typy wyzwań uwierzytelniania natywnego). Jeśli konfiguracja nie zostanie zaktualizowana w celu zintegrowania składników uwierzytelniania natywnego, zestawy SDK i interfejsy API uwierzytelniania natywnego nie będą używane.

Aspekty zabezpieczeń uwierzytelniania natywnego

Uwierzytelnianie natywne zapewnia zespołowi deweloperów pełną kontrolę nad środowiskiem uwierzytelniania. Dzięki tej kontroli należy przestrzegać najlepszych rozwiązań w zakresie zabezpieczeń w implementacji aplikacji, takich jak bezpieczna obsługa tokenów i zabezpieczenia transportu (HTTPS).

Logowanie jednokrotne (SSO)

Uwierzytelnianie natywne obsługuje logowanie jednokrotne (SSO) dla osadzonych widoków internetowych. Dzięki temu użytkownicy mogą logować się raz za pośrednictwem interfejsu użytkownika aplikacji natywnej, a następnie uzyskiwać dostęp do zasobów internetowych hostowanych w osadzonym widoku internetowym (na przykład WKWebView w systemie iOS lub WebView w systemie Android) bez wyświetlania drugiego monitu logowania.

Aplikacja osiąga to poprzez pobranie tokenu dostępu przy użyciu natywnego zestawu SDK uwierzytelniania lub natwnego interfejsu API uwierzytelniania i wstrzyknięcie go do żądania HTTP w web view za pomocą nagłówka Authorization. Zasób internetowy weryfikuje token i ustanawia sesję, zapewniając bezproblemowe przejście z natywnego środowiska do zawartości internetowej.

Aby uzyskać instrukcje implementacji, zobacz Implementowanie logowania jednokrotnego z aplikacji natywnych do osadzonych widoków internetowych.

Note

Logowanie jednokrotne między aplikacjami za pośrednictwem przeglądarek systemowych nie jest obsługiwane w przypadku uwierzytelniania natywnego.

Jak używać uwierzytelniania natywnego

Aplikacje korzystające z uwierzytelniania natywnego można tworzyć przy użyciu naszych natywnych interfejsów API uwierzytelniania lub zestawu SDK Microsoft Authentication Library (MSAL) dla systemów Android, iOS, macOS i aplikacji internetowych. Jeśli to możliwe, zalecamy dodanie uwierzytelniania natywnego do aplikacji przy użyciu biblioteki MSAL.

Aby uzyskać więcej informacji na temat przykładów i samouczków dotyczących uwierzytelniania natywnego, zobacz poniższą tabelę:

Język/
Platforma
Szybki start Przewodnik dotyczący kompilowania i integrowania
Android (Kotlin) • logowanie użytkowników • logowanie użytkowników
iOS (Swift) • logowanie użytkowników • logowanie użytkowników
macOS (Swift) • logowanie użytkowników • logowanie użytkowników
React (Next.js) • Szybki start • Samouczki
Angular • Szybki start • Samouczki

Jeśli planujesz utworzyć aplikację w strukturze, która nie jest obecnie obsługiwana przez bibliotekę MSAL, możesz użyć naszego interfejsu API uwierzytelniania. Aby uzyskać więcej informacji, zobacz Dokumentacja interfejsu API uwierzytelniania natywnego.