Udostępnij za pośrednictwem


Konfigurowanie aplikacji OpenID Connect OAuth z galerii aplikacji Microsoft Entra

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator aplikacji w chmurze.

  2. Przejdź do aplikacji dla przedsiębiorstw usługi Identity>Applications>.

    Blok Aplikacje dla przedsiębiorstw

  3. Wybierz pozycję Nowa aplikacja u góry okna dialogowego.

    Przycisk Nowa aplikacja

  4. W polu wyszukiwania wpisz nazwę aplikacji. Wybierz żądaną aplikację z panelu wyników i zarejestruj ją.

    Pozycja Openid na liście wyników

  5. Na stronie Nazwa aplikacji kliknij przycisk Zarejestruj się .

    Przycisk Dodaj

    Uwaga

    W tym miejscu administrator dzierżawy powinien wybrać przycisk rejestrowania i wyrazić zgodę na aplikację. Następnie aplikacja zostanie dodana do dzierżawy zewnętrznej, w której można wykonać konfiguracje. Jawne dodawanie aplikacji nie jest potrzebne.

  6. Nastąpi przekierowanie do strony Logowania aplikacji lub strony identyfikatora entra firmy Microsoft w celu uzyskania poświadczeń logowania.

  7. Po pomyślnym uwierzytelnieniu należy zaakceptować zgodę na stronie zgody. Aplikacja zostanie wtedy wyświetlona na stronie głównej.

    Uwaga

    Istnieje możliwość dodania tylko jednego wystąpienia aplikacji. Jeśli wystąpienie zostało już dodane, to próba ponownego wyrażenia zgody nie spowoduje ponownego dodania aplikacji do dzierżawy. Dlatego logicznie można używać tylko jednego wystąpienia aplikacji w dzierżawie.

  8. Wykonaj poniższe wideo, aby dodać aplikację OpenID z galerii.

Przepływ uwierzytelniania w przypadku protokołu OpenID Connect

Najbardziej podstawowy przepływ logowania zawiera następujące kroki:

Przepływ uwierzytelniania w przypadku protokołu OpenID Connect

Aplikacja wielodostępna

Aplikacje wielodostępne są przeznaczona do użytku w wielu (a nie tylko jednej) organizacjach. Są to zazwyczaj aplikacje typu SaaS (software-as-a-service) napisane przez niezależnych dostawców oprogramowania (ISV).

Aplikację wielodostępną należy aprowizować w każdym katalogu, w którym będzie używana. Ich zarejestrowanie wymaga zgody użytkownika lub administratora. Proces wyrażania zgody rozpoczyna się po zarejestrowaniu aplikacji w katalogu i udzieleniu jej dostępu do interfejsu API programu Graph lub innego internetowego interfejsu API. Gdy użytkownik lub administrator z innej organizacji zarejestruje się w celu korzystania z aplikacji, zostanie wyświetlone okno dialogowe z uprawnieniami wymaganymi przez aplikację.

Użytkownik lub administrator może wtedy wyrazić zgodę na aplikację. Zgoda umożliwia aplikacji dostęp do określonych danych oraz ostatecznie rejestruje aplikację w katalogu.

Uwaga

Jeśli udostępniasz aplikację użytkownikom w wielu katalogach, potrzebny jest mechanizm określania dzierżawy, w której się znajdują. Aplikacja jednodostępna musi szukać użytkownika tylko w swoim własnym katalogu. Aplikacja wielodostępna musi zidentyfikować określonego użytkownika ze wszystkich katalogów w usłudze Microsoft Entra ID.

Aby wykonać to zadanie, identyfikator Entra firmy Microsoft udostępnia wspólny punkt końcowy uwierzytelniania, w którym każda aplikacja wielodostępna może kierować żądania logowania zamiast punktu końcowego specyficznego dla dzierżawy. Ten punkt końcowy jest https://login.microsoftonline.com/common przeznaczony dla wszystkich katalogów w identyfikatorze Entra firmy Microsoft. Punkt końcowy specyficzny dla dzierżawy to na przykład https://login.microsoftonline.com/contoso.onmicrosoft.com.

Wspólny punkt końcowy to ważne zagadnienie do uwzględnienia podczas opracowywania aplikacji. Wymagana jest logika niezbędna do obsługi wielu dzierżaw podczas logowania, wylogowania i weryfikacji tokenu.

Domyślnie identyfikator Entra firmy Microsoft promuje aplikacje wielodostępne. Łatwo jest uzyskać do nich dostęp z wielu organizacji i używać po zaakceptowaniu zgody.

Możesz użyć platformy wyrażania zgody firmy Microsoft do tworzenia wielodostępnych aplikacji internetowych i natywnych aplikacji klienckich. Te aplikacje umożliwiają logowanie się według kont użytkowników z dzierżawy firmy Microsoft Entra, innej niż ta, w której aplikacja jest zarejestrowana. Mogą ona także potrzebować dostępu do internetowych interfejsów API, takich jak:

  • Interfejs API programu Microsoft Graph w celu uzyskania dostępu do identyfikatora Entra firmy Microsoft, usługi Intune i usług na platformie Microsoft 365.
  • Inne interfejsy API usług firmy Microsoft.
  • Twoje własne internetowe interfejsy API.

Struktura opiera się na zgodzie wyrażanej przez użytkownika lub administratora w odpowiedzi na żądanie zarejestrowania w katalogu kierowane przez aplikację. Rejestracja może obejmować uzyskiwanie dostępu do danych katalogu. Po wyrażeniu zgody aplikacja kliencka może wywoływać interfejs API programu Microsoft Graph w imieniu użytkownika i używać informacji zgodnie z potrzebami.

Interfejs API programu Microsoft Graph zapewnia dostęp do danych na platformie Microsoft 365, takich jak:

  • Kalendarze i komunikaty z programu Exchange
  • Witryny i listy z programu SharePoint
  • Dokumenty z usługi OneDrive
  • Notesy z programu OneNote
  • Zadania z programu Planner
  • Skoroszyty z programu Excel

Interfejs API programu Graph zapewnia również dostęp do użytkowników i grup z witryny Microsoft Entra ID i innych obiektów danych z większej liczby usług w chmurze firmy Microsoft.

Poniższe kroki pokazują, jak środowisko wyrażania zgody działa dla deweloperów aplikacji i użytkownika:

  1. Załóżmy, że masz internetową aplikację kliencką, który wymaga zażądania konkretnego uprawnienia na potrzeby dostępu do zasobu lub interfejsu API. Witryna Azure Portal jest używana do deklarowania żądań dotyczących uprawnień podczas konfigurowania. Podobnie jak inne ustawienia konfiguracji, stają się one częścią rejestracji firmy Microsoft Entra aplikacji. Aby uzyskać ścieżkę żądania uprawnień, wykonaj poniższe kroki:

    a. Kliknij Rejestracje aplikacji po lewej stronie menu i otwórz aplikację, wpisując nazwę aplikacji w polu wyszukiwania.

    Zrzut ekranu przedstawiający pozycję

    b. Kliknij pozycję Wyświetl uprawnienia interfejsu API.

    Zrzut ekranu przedstawiający stronę

    c. Kliknij pozycję Dodaj uprawnienie.

    Zrzut ekranu przedstawiający sekcję

    d. Kliknij pozycję Microsoft Graph.

    e. Wybierz wymagane opcje z uprawnień delegowanych i uprawnień aplikacji.

    Interfejs API programu Graph

  2. Należy wziąć pod uwagę, że uprawnienia aplikacji zostały zaktualizowane. Aplikacja jest uruchamiana i użytkownik użyje jej po raz pierwszy. Najpierw aplikacja musi uzyskać kod autoryzacji z punktu końcowego Microsoft Entra ID /authorize. Może wtedy użyć kodu autoryzacji do uzyskania nowego tokenu dostępu i odświeżania.

  3. Jeśli użytkownik nie jest jeszcze uwierzytelniony, identyfikator entra firmy Microsoft /autoryzowanie punktu końcowego monituje o zalogowanie.

    Zrzut ekranu przedstawiający monit logowania dla konta

  4. Po zalogowaniu użytkownika identyfikator Entra firmy Microsoft określa, czy użytkownik musi być wyświetlany na stronie zgody. Ta determinacja zależy od tego, czy użytkownik (lub administrator organizacji) udzielił już zgody aplikacji.

    Jeśli nie udzielono zgody, firma Microsoft Entra monituje użytkownika o zgodę i wyświetla wymagane uprawnienia, które musi działać. Uprawnienia wyświetlane w oknie dialogowym zgody są zgodne z uprawnieniami wybranymi w uprawnieniach delegowanych.

    Strona zgody

Zwykły użytkownik może wyrazić zgodę na niektóre uprawnienia. Inne uprawnienia wymagają zgody administratora dzierżawy.

Jako administrator możesz także wyrazić zgodę na uprawnienia delegowane aplikacji w imieniu wszystkich użytkowników w dzierżawie. Zgoda administratora zapobiega wyświetlaniu okna dialogowego zgody dla każdego użytkownika w dzierżawie. Użytkownicy, którzy mają rolę administratora, mogą wyrazić zgodę. Wybierz pozycję Zarządzaj uprawnieniami> interfejsu API. W obszarze Udzielanie zgody wybierz pozycję Udziel zgody administratora.

Uwaga

Udzielanie jawnej zgody przy użyciu przycisku Udziel zgody administratora jest teraz wymagane dla aplikacji jednostronicowych (SPA), które używają MSAL.js. W przeciwnym przypadku wystąpi błąd aplikacji przy żądaniu tokenu dostępu.

Uprawnienia tylko do aplikacji zawsze wymagają zgody administratora dzierżawy. Jeśli aplikacja żąda uprawnienia dotyczącego tylko aplikacji, a użytkownik spróbuje zalogować się do aplikacji, zostanie wyświetlony komunikat o błędzie. Komunikat informuje, że użytkownik nie może wyrazić zgody.

Jeśli aplikacja używa uprawnień wymagających zgody administratora, potrzebujesz elementu takiego jak przycisk lub link, za pomocą którego administrator może uruchomić akcję. Żądanie wysyłane przez aplikację na potrzeby tej akcji to zwykłe żądanie autoryzacji OAuth2/OpenID Connect. To żądanie zawiera parametr ciągu zapytania prompt=admin_consent.

Po wyrażaniu zgody przez administratora i utworzeniu jednostki usługi w dzierżawie klienta późniejsze żądania logowania nie wymagają parametru prompt=admin_consent . Ponieważ administrator zdecydował, że żądane uprawnienia są akceptowalne, od tego momentu żadni inni użytkownicy w dzierżawie nie będą monitowani o zgodę.

Administrator dzierżawy może wyłączyć możliwość wyrażania zgody na aplikacje przez zwykłych użytkowników. Jeśli ta funkcja jest wyłączona, zgoda administratora jest zawsze wymagana do używania aplikacji w dzierżawie. Jeśli chcesz przetestować aplikację z wyłączoną zgodą użytkownika końcowego, możesz znaleźć odpowiedni przełącznik konfiguracji w witrynie Azure Portal. Znajduje się on w sekcji Ustawienia użytkownika w obszarze Aplikacje dla przedsiębiorstw.

Parametru prompt=admin_consent mogą też używać aplikacje wymagające uprawnień, dla których zgoda administratora nie jest konieczna. Przykładem jest aplikacja, która wymaga środowiska, w którym administrator dzierżawy "zarejestruje się" jednorazowo, a żaden inny użytkownik nie jest monitowany o zgodę od tego momentu.

Wyobraź sobie sytuację, w której aplikacja wymaga zgody administratora i administrator loguje się bez wysyłania parametru prompt=admin_consent. Gdy administrator pomyślnie wyrazi zgodę na aplikację, będzie ona mieć zastosowanie tylko dla jego konta użytkownika. Zwykli użytkownicy nadal nie będą mogli zalogować się ani wyrazić zgody na aplikację. Ta funkcja jest przydatna, jeśli chcesz dać administratorowi dzierżawy możliwość przeanalizowania aplikacji przed zezwoleniem na dostęp innych użytkowników.

Następne kroki

Konfigurowanie logowania jednokrotnego opartego na protokole OIDC dla aplikacji w dzierżawie firmy Microsoft Entra