Opcje konfiguracji aplikacji

Aby uwierzytelnić i uzyskać tokeny, należy zainicjować nową publiczną lub poufnej aplikacji klienckiej w kodzie. Podczas inicjowania aplikacji klienckiej w bibliotece Microsoft Authentication Library (MSAL) można ustawić kilka opcji konfiguracji. Te opcje należą do dwóch grup:

Organ

Urząd jest adresem URL wskazującym katalog, z którego biblioteka MSAL może żądać tokenów.

Wspólne organy to:

Wspólne adresy URL urzędu Kiedy używać
https://login.microsoftonline.com/<tenant>/ Zaloguj użytkowników tylko określonej organizacji. W <tenant> adresie URL jest identyfikator dzierżawy dzierżawy firmy Microsoft (identyfikator GUID) lub jego domeny dzierżawy.
https://login.microsoftonline.com/common/ Logowanie użytkowników przy użyciu kont służbowych lub osobistych kont Microsoft.
https://login.microsoftonline.com/organizations/ Logowanie użytkowników przy użyciu kont służbowych.
https://login.microsoftonline.com/consumers/ Zaloguj użytkowników tylko przy użyciu osobistych kont Microsoft (MSA).

Urząd określony w kodzie musi być zgodny z obsługiwanymi typami kont określonymi dla aplikacji w Rejestracje aplikacji w witrynie Azure Portal.

Urząd może być:

  • Urząd firmy Microsoft Entra w chmurze.
  • Urząd usługi Azure AD B2C. Zobacz Szczegóły B2C.
  • Urząd usług federacyjnych Active Directory (AD FS). Zobacz Obsługa usług AD FS.

Władze firmy Microsoft Entra w chmurze mają dwie części:

  • Wystąpienie dostawcy tożsamości
  • Odbiorcy logowania dla aplikacji

Wystąpienie i odbiorcy mogą być łączone i udostępniane jako adres URL urzędu. Na tym diagramie pokazano, jak składa się adres URL urzędu:

Jak składa się adres URL urzędu

Wystąpienie chmury

Wystąpienie służy do określania, czy aplikacja podpisuje użytkowników z chmury publicznej platformy Azure, czy z chmur krajowych. Korzystając z biblioteki MSAL w kodzie, możesz ustawić wystąpienie chmury platformy Azure przy użyciu wyliczenia lub przekazując adres URL do wystąpienia chmury krajowej jako Instance członka.

MSAL.NET zgłosi jawny wyjątek, jeśli zostanie określony zarówno Instance , jak i AzureCloudInstance .

Jeśli nie określisz wystąpienia, aplikacja będzie dotyczyć wystąpienia chmury publicznej platformy Azure (wystąpienia adresu URL https://login.onmicrosoftonline.com).

Odbiorcy aplikacji

Odbiorcy logowania zależą od potrzeb biznesowych aplikacji:

  • Jeśli jesteś deweloperem biznesowym (LOB), prawdopodobnie utworzysz aplikację z jedną dzierżawą, która będzie używana tylko w organizacji. W takim przypadku określ organizację według identyfikatora dzierżawy (identyfikatora wystąpienia firmy Microsoft Entra) lub nazwy domeny skojarzonej z wystąpieniem firmy Microsoft Entra.
  • Jeśli jesteś niezależnego dostawcy oprogramowania, możesz chcieć zalogować użytkowników przy użyciu kont służbowych w dowolnej organizacji lub w niektórych organizacjach (wielodostępnej aplikacji). Możesz jednak również chcieć, aby użytkownicy logowali się przy użyciu osobistych kont Microsoft.

Jak określić odbiorców w kodzie/konfiguracji

Korzystając z biblioteki MSAL w kodzie, należy określić odbiorców przy użyciu jednej z następujących wartości:

  • Wyliczenie odbiorców urzędu Entra firmy Microsoft
  • Identyfikator dzierżawy, który może być:
    • Identyfikator GUID (identyfikator wystąpienia firmy Microsoft Entra) dla aplikacji z jedną dzierżawą
    • Nazwa domeny skojarzona z wystąpieniem firmy Microsoft Entra (również dla aplikacji z jedną dzierżawą)
  • Jeden z tych symboli zastępczych jako identyfikator dzierżawy zamiast wyliczenia odbiorców urzędu Entra firmy Microsoft:
    • organizations dla aplikacji wielodostępnej
    • consumers logowanie użytkowników tylko przy użyciu kont osobistych
    • common aby zalogować użytkowników przy użyciu kont służbowych lub osobistych kont Microsoft

Biblioteka MSAL zgłosi znaczący wyjątek, jeśli określisz zarówno odbiorców urzędu Entra firmy Microsoft, jak i identyfikator dzierżawy.

Zaleca się określenie odbiorców, jak wielu dzierżaw, a wdrożone w nich aplikacje będą miały użytkowników-gości. Jeśli aplikacja będzie mieć użytkowników zewnętrznych, punkty końcowe common i organization najlepiej unikać. Jeśli nie określisz grupy odbiorców, aplikacja będzie kierować do konta Microsoft Entra ID i osobistych kont Microsoft jako odbiorców i będzie zachowywać się tak, jakby common zostały określone.

Efektywni odbiorcy

Efektywną grupą odbiorców aplikacji będzie minimalna (jeśli istnieje skrzyżowanie) odbiorców ustawionych w aplikacji i odbiorców określonych w rejestracji aplikacji. W rzeczywistości środowisko Rejestracje aplikacji umożliwia określenie odbiorców (obsługiwanych typów kont) dla aplikacji. Aby uzyskać więcej informacji, Skorzystaj z systemu szybkiego startu: Zarejestruj aplikację na platformie tożsamości Microsoft.

Obecnie jedynym sposobem uzyskania aplikacji do logowania użytkowników z tylko osobistymi kontami Microsoft jest skonfigurowanie obu tych ustawień:

  • Ustaw odbiorców rejestracji aplikacji na Work and school accounts and personal accounts.
  • Ustaw odbiorców w kodzie/konfiguracji na AadAuthorityAudience.PersonalMicrosoftAccount (lub TenantID ="konsumenci").

Client ID

Identyfikator klienta to unikatowy identyfikator aplikacji (klienta) przypisany do aplikacji przez identyfikator Firmy Microsoft Entra po zarejestrowaniu aplikacji. Identyfikator aplikacji (klienta) można znaleźć na stronie Przegląd aplikacji w aplikacjach dla przedsiębiorstw usługi Identity>Applications>.

Adres URI przekierowania

Identyfikator URI przekierowania to identyfikator URI, do których dostawca tożsamości wyśle tokeny zabezpieczające.

Identyfikator URI przekierowania dla publicznych aplikacji klienckich

Jeśli jesteś publicznym deweloperem aplikacji klienckiej, który korzysta z biblioteki MSAL:

  • Chcesz używać .WithDefaultRedirectUri() w aplikacjach klasycznych lub platforma uniwersalna systemu Windows (UWP) (MSAL.NET 4.1 lub nowszych). Metoda .WithDefaultRedirectUri() ustawi właściwość identyfikatora URI przekierowania publicznej aplikacji klienckiej na domyślny zalecany identyfikator URI przekierowania dla publicznych aplikacji klienckich.

    Platforma Adres URI przekierowania
    Aplikacja klasyczna (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
    Platforma UWP WebAuthenticationBroker.GetCurrentApplicationCallbackUri()wartość . Umożliwia to logowanie jednokrotne (SSO) w przeglądarce, ustawiając wartość na wynik elementu WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), który należy zarejestrować
    .NET https://localhost Umożliwia użytkownikowi używanie przeglądarki systemowej do uwierzytelniania interakcyjnego, ponieważ platforma .NET nie ma interfejsu użytkownika dla osadzonego widoku internetowego w tej chwili.
  • Nie musisz dodawać identyfikatora URI przekierowania, jeśli tworzysz aplikację platformy Xamarin dla systemu Android i iOS, która nie obsługuje identyfikatora URI przekierowania brokera. Jest ona automatycznie ustawiana na msal{ClientId}://auth wartość dla platformY Xamarin Android i iOS.

  • Skonfiguruj identyfikator URI przekierowania w Rejestracje aplikacji:

    Identyfikator URI przekierowania w Rejestracje aplikacji

Identyfikator URI przekierowania można zastąpić przy użyciu RedirectUri właściwości (na przykład jeśli używasz brokerów). Oto kilka przykładów identyfikatorów URI przekierowania dla tego scenariusza:

  • RedirectUriOnAndroid = "msauth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";
  • RedirectUriOnIos = $"msauth. {Bundle.ID}://auth";

Aby uzyskać więcej szczegółów systemu iOS, zobacz Migrowanie aplikacji systemu iOS korzystających z aplikacji Microsoft Authenticator z ADAL.NET do MSAL.NET i Korzystanie z brokera w systemie iOS. Aby uzyskać więcej informacji na temat systemu Android, zobacz Brokered auth in Android (Uwierzytelnienie obsługiwane przez brokera w systemie Android).

Identyfikator URI przekierowania dla poufnych aplikacji klienckich

W przypadku aplikacji internetowych identyfikator URI przekierowania (lub adres URL odpowiedzi) jest identyfikatorem URI używanym przez firmę Microsoft Entra do wysyłania tokenu z powrotem do aplikacji. Identyfikator URI może być adresem URL aplikacji internetowej/internetowego interfejsu API, jeśli aplikacja poufne jest jedną z nich. Identyfikator URI przekierowania musi zostać zarejestrowany w rejestracji aplikacji. Rejestracja jest szczególnie ważna podczas wdrażania aplikacji, która została początkowo przetestowana lokalnie. Następnie należy dodać adres URL odpowiedzi wdrożonej aplikacji w portalu rejestracji aplikacji.

W przypadku aplikacji demona nie trzeba określać identyfikatora URI przekierowania.

Klucz tajny klienta

Ta opcja określa klucz tajny klienta dla poufnej aplikacji klienckiej. Wpis tajny klienta (hasło aplikacji) jest udostępniany przez portal rejestracji aplikacji lub udostępniany identyfikatorowi entra firmy Microsoft podczas rejestracji aplikacji za pomocą programu PowerShell Microsoft Entra ID, Moduł AzureRM programu PowerShell lub interfejs wiersza polecenia platformy Azure.

Rejestrowanie

Aby ułatwić debugowanie i rozwiązywanie problemów z błędami uwierzytelniania, biblioteka MSAL zapewnia wbudowaną obsługę rejestrowania. Rejestrowanie w każdej bibliotece zostało omówione w następujących artykułach:

Następne kroki

Dowiedz się więcej o tworzeniu wystąpień aplikacji klienckich przy użyciu MSAL.NET i tworzenia wystąpień aplikacji klienckich przy użyciu MSAL.js.