Udostępnij za pośrednictwem


Konfigurowanie aplikacji App Service lub Azure Functions do logowania się przy użyciu dostawcy openID Connect

W tym artykule pokazano, jak skonfigurować usługę Azure App Service lub usługę Azure Functions do używania niestandardowego dostawcy uwierzytelniania zgodnego ze specyfikacją openID Connect (OIDC). OIDC jest standardem branżowym używanym przez wielu dostawców tożsamości (IDP). Nie musisz rozumieć szczegółów specyfikacji aplikacji w celu korzystania z dostawcy tożsamości OIDC.

Możesz skonfigurować aplikację tak, aby korzystała z co najmniej jednego dostawcy OIDC. Każdy dostawca musi mieć unikatową nazwę alfanumeryczną w konfiguracji. Jako domyślny element docelowy przekierowania może służyć tylko jeden dostawca.

Rejestrowanie aplikacji u dostawcy tożsamości

Dostawca wymaga zarejestrowania w nim szczegółów aplikacji. Jednym z tych kroków jest określenie identyfikatora URI przekierowania, który ma postać <app-url>/.auth/login/<provider-name>/callback. Każdy dostawca tożsamości powinien podać więcej instrukcji dotyczących wykonywania kroków. Wartość <provider-name> odnosi się do przyjaznej nazwy, którą podajesz nazwie dostawcy OpenID na platformie Azure.

Uwaga

Niektórzy dostawcy mogą wymagać dodatkowych kroków dotyczących konfiguracji i używania podanych wartości. Na przykład firma Apple udostępnia klucz prywatny, który nie jest używany jako klucz tajny klienta OIDC. Służy do tworzenia tokenu internetowego JSON (JWT). Token sieciowy używasz jako tajnego klucza, który podajesz w konfiguracji aplikacji. Aby uzyskać więcej informacji, zobacz Tworzenie tajemnicy klienta.

Musisz zebrać identyfikator klienta i klucz tajny klienta dla aplikacji. Tajemnica klienta jest ważnym poświadczeniem zabezpieczeń. Nie udostępniaj tego wpisu tajnego nikomu ani nie rozpowszechniaj go w aplikacji klienckiej.

Uwaga

Musisz podać klientowi klucz tajny w konfiguracji, jeśli chcesz uzyskać dla użytkownika tokeny dostępu za pośrednictwem interaktywnego przepływu logowania, korzystając z przepływu kodu autoryzacji. Jeśli tak nie jest, zbieranie tajnej informacji nie jest wymagane.

Potrzebujesz również metadanych OIDC dla dostawcy. Te metadane są często udostępniane w dokumencie metadanych konfiguracji, który jest adresem URL wystawcy dostawcy z dołączonym /.well-known/openid-configuration. Pobierz ten adres URL konfiguracji.

Jeśli nie możesz użyć dokumentu metadanych konfiguracji, pobierz następujące wartości oddzielnie:

Dodawanie informacji o dostawcy do aplikacji

Aby dodać informacje o dostawcy openID Connect, wykonaj następujące kroki.

  1. Zaloguj się do witryny Azure Portal i przejdź do aplikacji.

  2. W menu po lewej stronie wybierz pozycję Ustawienia>Uwierzytelnianie. Następnie wybierz pozycję Dodaj dostawcę tożsamości.

  3. W polu Dostawca tożsamości wybierz pozycję OpenID Connect.

  4. W polu Nazwa dostawcy OpenID podaj unikatową nazwę alfanumeryczną wybraną wcześniej.

  5. Jeśli masz adres URL dokumentu metadanych od dostawcy tożsamości, podaj tę wartość dla adresu URL metadanych.

    W przeciwnym razie wybierz pozycję Podaj punkty końcowe oddzielnie. Umieść każdy adres URL od dostawcy tożsamości w odpowiednim polu.

  6. Podaj wartości zebrane wcześniej dla identyfikatora klienta. Jeśli klucz tajny klienta został również zebrany, podaj go w ramach procesu konfiguracji.

  7. Określ nazwę ustawienia aplikacji dla tajnego klienta. Tajny klucz klienta jest przechowywany jako ustawienie aplikacji, aby upewnić się, że tajne klucze są przechowywane w bezpieczny sposób. Jeśli chcesz zarządzać sekretem w Azure Key Vault, zaktualizuj później to ustawienie, aby używać odwołań Azure Key Vault.

  8. Wybierz pozycję Dodaj , aby zakończyć konfigurowanie dostawcy tożsamości.

Uwaga

Nazwa dostawcy OpenID nie może zawierać łącznika (-), ponieważ jest tworzone ustawienie aplikacji na podstawie tej nazwy. Ustawienie aplikacji nie obsługuje łączników. Zamiast tego użyj podkreślenia (_).

Wymaga to również, aby zakres aud w tokenie był taki sam jak Id klienta skonfigurowany powyżej. Obecnie nie można skonfigurować dozwolonych odbiorców dla tego dostawcy.

Platforma Azure wymaga zakresów openid, profile i email. Upewnij się, że rejestracja aplikacji jest skonfigurowana u dostawcy identyfikatorów z co najmniej tymi zakresami.