Konfiguracja dostawcy OpenID Connect

Dostawcy tożsamości usługi OpenID Connect są usługami zgodnymi ze specyfikacją Open ID Connect. W przypadku usługi OpenID Connect wprowadzono pojęcie tokenu identyfikatora. Token identyfikatora to token zabezpieczeń umożliwiający klientowi zweryfikowanie tożsamości użytkownika. Zawiera również podstawowe informacje o profilu użytkowników, znane jako oświadczenia.

Power Pages ma wbudowaną obsługę tożsamości OpenID Connect tożsamości zewnętrznej Microsoft Entra, Microsoft Entra ID i Microsoft Entra ID z wieloma dzierżawami. W tym artykule wyjaśniono sposób dodawania do witryny Power Pages innych dostawców tożsamości korzystających z protokołu uwierzytelniania OpenID Connect.

Obsługiwane i nieobsługiwane przepływy uwierzytelnienia w Power Pages

  • Niejawne udzielenie
    • To jest domyślny przepływ metody uwierzytelnienia dla witryn Power Pages.
  • Kod autoryzacji
    • Power Pages używa metody client_secret_post do komunikacji z punktem końcowym tokenu serwera tożsamości.
    • Power Pages obsługuje również metodę private_key_jwt do uwierzytelniania za pomocą punktu końcowego tokenu. Dowiedz się więcej w temacie Konfigurowanie private_key_jwt.
  • Wersja hybrydowa (obsługa ograniczona)
    • Power Pages wymaga, aby w odpowiedzi był obecny element id_token, więc posiadanie wartości response_type = jako tokenu kodu nie jest obsługiwane.
    • Przepływ hybrydowy w Power Pages przebiega podobnie, jak przepływ niejawnego udzielania, a id_token jest używany do bezpośredniego logowania się użytkowników.

Note

Zmiany w ustawieniach uwierzytelniania witryny mogą odzwierciedlać się po kilku minutach. Aby od razu zobaczyć zmiany, uruchom ponownie witrynę w centrum administracyjnym.

Konfigurowanie dostawcy usługi OpenID Connect w Power Pages

  1. W witrynie Power Pages wybierz pozycję Bezpieczeństwo>Dostawcy tożsamości.

    Jeśli nie pojawiają się żadni dostawcy tożsamości, upewnij się, że opcja Zaloguj się zewnętrznie jest ustawiona na Włącz w ogólnych ustawieniach uwierzytelniania.

  2. Wybierz + Nowy dostawca.

  3. Z listy Wybierz dostawcę logowania wybierz pozycję Inny.

  4. W obszarze Protokół wybierz opcję OpenID Connect.

  5. Wprowadź nazwę dostawcy.

    Nazwa dostawcy to tekst na przycisku, który użytkownicy widzą po wybraniu dostawcy tożsamości na stronie logowania.

  6. Wybierz Dalej.

  7. W Odpowiedz URL wybierz opcję Kopiuj.

    Nie zamykaj Power Pages karty przeglądarki. Wkrótce do niej wrócisz.

Tworzenie rejestracji aplikacji w dostawcy tożsamości

  1. Utwórz i zarejestruj aplikację u dostawcy tożsamości przy użyciu skopiowanego adresu URL odpowiedzi.

  2. Skopiuj aplikację lub identyfikator klienta i klienta.

  3. Znajdź punktu końcowe aplikacji i skopiuj adres URL dokumentu metadanych OpenID Connect.

  4. Zmień inne ustawienia wymagane dla dostawcy tożsamości.

Wprowadź ustawienia witryny w Power Pages

Wróć do strony Konfiguracja dostawcy tożsamości Power Pages, którą opuszczono wcześniej, i wprowadź następujące wartości. Opcjonalnie zmień dodatkowe ustawienia, zgodnie z potrzebą. Po zakończeniu wybierz Potwierdź.

  • Autorytet: wprowadź adres URL autorytetu w następującym formacie: https://login.microsoftonline.com/<Directory (tenant) ID>/, gdzie <identyfikator katalogu (dzierżawcy)> jest identyfikatorem katalogu (dzierżawcy) aplikacji, którą utworzyłeś. Jeśli na przykład jako Identyfikatorem katalogu (dzierżawy) w portalu Azure Portal jest aaaabbbb-0000-cccc-1111-dddd2222eeee, to adresem URL urzędu jest https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/​.

  • Identyfikator klienta: wklej identyfikator aplikacji lub klienta dla utworzonej aplikacji.

  • Przekierowanie URL: Jeśli witryna korzysta z niestandardowej nazwy domeny, wprowadź niestandardowy adres URL; w przeciwnym razie pozostaw wartość domyślną. Upewnij się, że wartość jest dokładnie taka sama jak URI przekierowywania aplikacji, którą utworzyłeś.

  • Adres metadanych: wklej skopiowany adres URL dokumentu metadanych OpenID Connect.

  • Zakres: wprowadź rozdzielaną spacjami lub rozdzielaną przecinkami listę zakresów do żądania przy użyciu parametru OpenID Connect scope . Wartość domyślna to openid.

    Wartość openid jest wymagana. Informacje o innych oświadczeniach, które można dodać.

  • Typ odpowiedzi: wprowadź wartość parametru response_type protokołu OpenID Connect. Możliwe wartości to code, code id_token, id_tokenid_token token i code id_token token. Wartość domyślna to code id_token.

  • Klucz tajny klienta: wklej klucz tajny klienta z aplikacji dostawcy. Może też być określany mianem tajnej aplikacji lub tajnym klientem. To ustawienie jest wymagane, jeśli typem odpowiedzi jest code.

  • Tryb odpowiedzi: wprowadź wartość parametru response_mode protokołu OpenID Connect. Powinno to być query, jeśli typem odpowiedzi jest code. Wartość domyślna to form_post.

  • Wylogowanie zewnętrzne: To ustawienie kontroluje, czy witryna używa federacyjnego wylogowania. W przypadku wylogowania federacyjnego, gdy użytkownicy wylogowują się z aplikacji lub witryny, są również wylogowywani ze wszystkich aplikacji i witryn korzystających z tego samego dostawcy tożsamości. Włącz, aby przekierować użytkowników do interfejsu wylogowania federacyjnego, gdy użytkownicy się wylogowują z witryny. Wyłącz, by wylogować użytkowników tylko z Twojej witryny.

  • Po wylogowaniu adres URL przekierowania: wprowadź adres URL, do którego dostawca tożsamości powinien przekierowywać użytkowników po wylogowaniu. Tę lokalizację należy także odpowiednio ustawić w konfiguracji dostawcy tożsamości.

  • Zainicjowanie wylogowania punktu przechowywania: to ustawienie określa, czy strona korzystający z usługi, czyli aplikacja kliencka OpenID Connect, może wylogować użytkowników. Aby użyć tego ustawienia, należy włączyć Zewnętrzne wylogowanie.

Dodatkowe ustawienia w Power Pages

Dodatkowe ustawienia zapewniają lepszą kontrolę nad sposobem uwierzytelniania użytkowników za pomocą dostawcy tożsamości OpenID Connect. Nie trzeba ustawiać żadnej z tych wartości. Są one całkowicie opcjonalne.

  • Filtr wystawcy: wprowadź filtr wieloznaczny, który pasuje do wszystkich wystawców we wszystkich dzierżawach. Na przykład użyj https://sts.windows.net/*/. Jeśli używasz dostawcy uwierzytelniania Microsoft Entra ID, filtr adresu URL wystawcy to https://login.microsoftonline.com/*/v2.0/.

  • Sprawdzanie odbiorców: Włącz to ustawienie, aby weryfikować odbiorców podczas weryfikacji tokenu.

  • Prawidłowi odbiorcy: wprowadź listę adresów URL odbiorców, oddzielone przecinkami.

  • Sprawdź wydawców: włącz to ustawienie, aby zweryfikować wystawcę tokenu.

  • Prawidłowi wystawcy: wprowadź rozdzieloną przecinkami listę adresów URL wystawców.

  • Mapowanie oświadczeń rejestracyjnych i mapowanie oświadczeń logowania: W uwierzytelnianiu użytkownika oświadczenie to informacja opisująca tożsamość użytkownika, taka jak adres e-mail lub data urodzenia. Po zalogowaniu się do aplikacji lub witryny internetowej tworzony jest token. Token zawiera informacje o tożsamości użytkownika, w tym wszelkie roszczenia, które są z nim związane. Tokeny są używane do uwierzytelniania tożsamości użytkownika podczas uzyskiwania dostępu do innych części aplikacji lub witryny lub innych aplikacji i witryn, które są połączone z tym samym dostawcą tożsamości. Mapowanie oświadczeń to sposób na zmianę informacji zawartych w tokenie. Może być wykorzystywany do dostosowywania informacji dostępnych w aplikacji lub witrynie oraz do kontrolowania dostępu do funkcji lub danych. Mapowanie oświadczeń rejestracyjnych modyfikuje oświadczenia emitowane podczas rejestracji w aplikacji lub witrynie. Mapowanie oświadczeń logowania modyfikuje oświadczenia emitowane podczas logowania w aplikacji lub witrynie. Dowiedz się więcej o zasadach mapowania roszczeń.

    Informacje o użytkowniku można podać na dwa sposoby:

    • Atrybuty tokenu identyfikatora – Podstawowe atrybuty użytkownika, takie jak imię lub adres e-mail, znajdują się w tokenie.
    • Punkt końcowy UserInfo – Bezpieczny interfejs API, który zwraca szczegółowe informacje o użytkowniku po uwierzytelnieniu.

    Aby użyć punktu końcowego UserInfo, utwórz Ustawienie lokalizacji o nazwie Authentication/OpenIdConnect/{ProviderName}/UseUserInfoEndpointforClaims i ustaw wartość na true.

    Opcjonalnie utwórz ustawienie lokalizacji o nazwie Authentication/OpenIdConnect/{ProviderName}/UserInfoEndpoint i ustaw wartość na adres URL punktu końcowego UserInfo. Jeśli nie podasz tego ustawienia, Power Pages spróbuje znaleźć punkt końcowy na podstawie metadanych OIDC.

    Obsługa błędów

    • Jeśli adres URL punktu końcowego nie jest ustawiony, Power Pages spróbuje znaleźć punkt końcowy na podstawie metadanych OIDC.
    • Jeśli adres URL jest ustawiony, ale nie jest dostępny, logowanie jest kontynuowane z ostrzeżeniem.
    • Jeśli punkt końcowy zwróci błąd uwierzytelniania (np. 401 lub 403), logowanie będzie kontynuowane z ostrzeżeniem, które zawiera komunikat o błędzie.

    Składnia mapowania:

    Aby użyć oświadczeń UserInfo w mapowaniach oświadczeń logowania lub rejestracji, użyj tego formatu:

    fieldName = userinfo.claimName

    Jeśli opcja UseUserInfoEndpointforClaims nie jest włączona, mapowania używające prefiksu userinfo. są ignorowane.

  • Okres istnienia identyfikatora jednorazowego: wprowadź okres istnienia wartości identyfikatora jednorazowego w minutach. Wartość domyślna to 10 minut.

  • Włączony parametr nonce: To ustawienie określa, czy walidacja parametru nonce jest włączona dla protokołu OpenID Connect. Wartość domyślna to Włączone. Wyłącz tę opcję, aby wyłączyć walidację identyfikatora jednorazowego (niezalecane w środowisku produkcyjnym).

  • Użyj okresu ważności tokenu: to ustawienie kontroluje, czy okres istnienia sesji uwierzytelniania (np. pliki cookie) musi być zgodny z tokenem uwierzytelniania. Po włączeniu tej wartości zastępuje ona wartość Przedział czasu wygasania plików cookie aplikacji w ustawieniu witryny Uwierzytelnianie/ApplicationCookie/ExpireTimeSpan.

  • Mapowanie kontaktów z adresem e-mail: To ustawienie określa, czy kontakty są mapowane na odpowiedni adres e-mail podczas logowania.

    • Wł.: włącz ten przełącznik, aby kojarzyć unikatowy rekord kontaktu z pasującym adresem e-mail, a następnie automatycznie przypisywać zewnętrznego dostawcę tożsamości do kontaktu po pomyślnym zalogowaniu użytkownika.
    • Wyłączone

Note

Parametr UI_Locales żądania uwierzytelnienia jest wysyłany automatycznie w żądaniu uwierzytelnienia i jest ustawiony na język wybrany w portalu.

Inne parametry autoryzacji

Użyj następujących parametrów autoryzacji, ale nie ustawiaj ich w dostawcy OpenID Connect w Power Pages:

  • acr_values: Parametr acr_values umożliwia dostawcom tożsamości wymuszanie poziomów zabezpieczeń, takich jak uwierzytelnianie wieloskładnikowe (MFA). Umożliwia aplikacji wskazanie wymaganego poziomu uwierzytelniania.

    Aby użyć parametru acr_values , utwórz ustawienie witryny o nazwie Authentication/OpenIdConnect/{ProviderName}/AcrValues i ustaw potrzebną wartość. Po ustawieniu tej wartości Power Pages uwzględnia parametr acr_values w żądaniu autoryzacji.

  • Dynamiczne parametry autoryzacji: parametry dynamiczne umożliwiają dostosowanie żądania autoryzacji do różnych kontekstów użycia, takich jak osadzone aplikacje lub scenariusze wielu dzierżawców.

    • Parametr monitu:

      Ten parametr określa, czy ma być wyświetlana strona logowania, czy ekran zgody. Można ją skonfigurować na dwa sposoby:

      1. Ustawienie witryny (statyczne): Utwórz ustawienie witryny o nazwie Authentication/OpenIdConnect/{ProviderName}/Prompt i ustaw wartość na jedną z obsługiwanych wartości wymienionych poniżej. Ta wartość ma zastosowanie do wszystkich żądań uwierzytelniania dostawcy i ma priorytet nad parametrem dynamicznym.
      2. Dynamiczne (na żądanie): Dodaj dostosowanie, aby wysłać je jako parametr ciągu zapytania do punktu końcowego logowania zewnętrznego.

      Obsługiwane wartości:

      • Brak
      • login
      • wyrazić zgodę
      • select_account
      • utworzyć

      Note

      Po skonfigurowaniu ustawienia witryny polecenia ma ono pierwszeństwo przed parametrem polecenia dynamicznego przekazywanym w ciągu zapytania.

      Format URL.

      {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&prompt={value}

      Power Pages wysyła tę wartość do dostawcy tożsamości w parametrze monitu.

    • Parametr wskazówki logowania:

      Ten parametr umożliwia przekazanie znanego identyfikatora użytkownika, takiego jak adres e-mail, w celu wstępnego wypełnienia lub pominięcia ekranów logowania. Aby go użyć, dodaj modyfikację, aby wysłać go jako parametr ciąg zapytania do punktu końcowego ExternalLogin.

      Format URL.

      {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&login_hint={value}

      Ten parametr pomaga, gdy użytkownicy są już zalogowani za pośrednictwem innej tożsamości, takiej jak Microsoft Entra ID lub konto Microsoft (MSA), w tej samej sesji.

  • Niestandardowe parametry autoryzacji: niektórzy dostawcy tożsamości obsługują zastrzeżone parametry dla określonego zachowania autoryzacji. Power Pages umożliwia twórcom bezpiecznie skonfigurować i przekazać te parametry. Aby użyć tych parametrów, dodaj dostosowanie, aby wysłać je jako parametry ciągu zapytania do punktu końcowego ExternalLogin.

    Utwórz ustawienie lokalizacji o nazwie Authentication/OpenIdConnect/{Provider}/AllowedDynamicAuthorizationParameters i ustaw wartość na rozdzielaną przecinkami listę nazw parametrów, na przykład jak param1,param2,param3.

    Przykładowy format adresu URL:

    {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&param1=value&param2=value&param3=value

    Jeśli którykolwiek z parametrów (param1, param2 lub param3) nie znajduje się na liście dozwolonych parametrów, Power Pages ignoruje go.

    To ustawienie definiuje listę parametrów niestandardowych, które można wysłać w żądaniu autoryzacji.

    Zachowanie

    • Przekazuje parametry w ciągu zapytania punktu końcowego ExternalLogin.
    • Power Pages uwzględnia tylko parametry z listy w żądaniu autoryzacji.
    • Parametry domyślne, takie jak prompt, login_hinti ReturnUrl , są zawsze dozwolone i nie muszą być wyświetlane.

    Przykładowy format adresu URL:

    {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&custom_param=value

    Jeśli custom_param nie ma na liście dozwolonych parametrów, Power Pages je ignoruje.

Skonfiguruj private_key_jwt

Metoda private_key_jwt używa klucza prywatnego certyfikatu do podpisania asercji klienta. Dostawca tożsamości weryfikuje asercję przy użyciu odpowiedniego klucza publicznego.

Przed skonfigurowaniem Power Pages sprawdź, czy dostawca tożsamości obsługuje private_key_jwt. Dokument metadanych dostawcy OpenID Connect powinien zawierać private_key_jwt w tablicy token_endpoint_auth_methods_supported. Należy również zarejestrować klucz publiczny certyfikatu u dostawcy tożsamości.

  1. Przekaż certyfikat niestandardowy , którego chcesz użyć do podpisania asercji klienta. Skopiuj odcisk certyfikatu po zakończeniu przesyłania.

  2. Określ nazwę dostawcy używaną w ustawieniach witryny. W aplikacji Zarządzanie portalem otwórz pozycję Ustawienia witryny i znajdź istniejące ustawienie dla dostawcy OpenID Connect, takie jak Authentication/OpenIdConnect/OpenId_1/Issuer. Wartość między OpenIdConnect/ i nazwą ustawienia jest nazwą dostawcy. W tym przykładzie nazwa dostawcy to OpenId_1.

    Nazwa dostawcy w ścieżce ustawienia witryny jest identyfikatorem wewnętrznym i może różnić się od nazwy wyświetlanej wyświetlanej na stronie logowania. Użyj takiego samego sposobu zapisu wielkimi i małymi literami we wszystkich ustawieniach dotyczących dostawcy.

  3. Utwórz następujące ustawienia witryny. Zastąp {ProviderName} nazwą dostawcy, którą zidentyfikowano w poprzednim kroku.

    Ustawienie witryny Wartość
    Authentication/OpenIdConnect/{ProviderName}/TokenEndPointAuthenticatedMethod private_key_jwt
    Authentication/OpenIdConnect/{ProviderName}/PrivateKeyJwt/CertificateObject {"kid":"{thumbprint}"}, gdzie {thumbprint} to odcisk palca niestandardowego certyfikatu przesłanego do witryny.
  4. Uruchom ponownie witrynę w centrum administracyjnym platformy Power Platform, aby Power Pages załadować certyfikat.

Jeśli dane telemetryczne zgłaszają, że certyfikat nie został znaleziony lub załadowany podczas uruchamiania, sprawdź, czy kid wartość jest zgodna z odciskiem palca przekazanego certyfikatu niestandardowego, certyfikat zawiera jego klucz prywatny, a wszystkie ustawienia witryny używają tej samej nazwy dostawcy.

Zobacz także

Konfigurowanie identyfikatora zewnętrznego firmy Microsoft za pomocą usługi Power Pages
Konfigurowanie dostawcy OpenID Connect przy użyciu Tożsamości Microsoft Entra
OpenID Connect — często zadawane pytania