Konfigurowanie aplikacji App Service lub Azure Functions do logowania się przy użyciu dostawcy Połączenie OpenID

W tym artykule pokazano, jak skonfigurować usługę aplikacja systemu Azure lub usługę Azure Functions do używania niestandardowego dostawcy uwierzytelniania zgodnego ze specyfikacją Połączenie OpenID. OpenID Połączenie (OIDC) to branżowy standard używany przez wielu dostawców tożsamości (IDP). Nie musisz rozumieć szczegółów specyfikacji, aby skonfigurować aplikację tak, aby korzystała z zgodnego dostawcy tożsamości.

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

Rejestrowanie aplikacji u dostawcy tożsamości

Dostawca będzie wymagać zarejestrowania w nim szczegółów aplikacji. Jednym z tych kroków jest określenie identyfikatora URI przekierowania. Ten identyfikator URI przekierowania będzie mieć postać <app-url>/.auth/login/<provider-name>/callback. Każdy dostawca tożsamości powinien podać więcej instrukcji dotyczących wykonywania tych kroków. <provider-name> będzie odwoływać się do przyjaznej nazwy dostawcy OpenID na platformie Azure.

Uwaga

Niektórzy dostawcy mogą wymagać dodatkowych kroków dotyczących konfiguracji i sposobu używania podanych przez nich wartości. Na przykład firma Apple udostępnia klucz prywatny, który nie jest używany jako klucz tajny klienta OIDC, a zamiast tego należy go użyć do utworzenia zestawu JWT, który jest traktowany jako wpis tajny, który jest podawany w konfiguracji aplikacji (zobacz sekcję "Tworzenie klucza tajnego klienta" w dokumentacji logowania za pomocą firmy Apple)

Należy zebrać identyfikator klienta i klucz tajny klienta dla aplikacji.

Ważne

Wpis tajny klienta jest ważnym poświadczenie zabezpieczeń. Nie udostępniaj tego wpisu tajnego nikomu ani nie rozpowszechniaj go w aplikacji klienckiej.

Ponadto potrzebujesz metadanych openID Połączenie dostawcy. Jest to często widoczne za pośrednictwem dokumentu metadanych konfiguracji, który jest sufiksem adresu URL wystawcy dostawcy z sufiksem /.well-known/openid-configuration. Zbierz ten adres URL konfiguracji.

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

  • Adres URL wystawcy (czasami wyświetlany jako issuer)
  • Punkt końcowy autoryzacji OAuth 2.0 (czasami wyświetlany jako authorization_endpoint)
  • Punkt końcowy tokenu OAuth 2.0 (czasami wyświetlany jako token_endpoint)
  • Adres URL dokumentu zestawu kluczy sieci Web OAuth 2.0 JSON (czasami wyświetlany jako jwks_uri)

Dodawanie informacji o dostawcy do aplikacji

  1. Zaloguj się do witryny Azure Portal i przejdź do aplikacji.
  2. Wybierz pozycję Uwierzytelnianie w menu po lewej stronie. Wybierz pozycję Dodaj dostawcę tożsamości.
  3. Wybierz pozycję OpenID Połączenie na liście rozwijanej dostawca tożsamości.
  4. Podaj unikatową nazwę alfanumeryczną wybraną wcześniej dla nazwy dostawcy OpenID.
  5. Jeśli masz adres URL dokumentu metadanych od dostawcy tożsamości, podaj wartość adresu URL metadanych. W przeciwnym razie wybierz opcję Podaj punkty końcowe oddzielnie i umieść każdy adres URL zebrany z dostawcy tożsamości w odpowiednim polu.
  6. Podaj wcześniej zebrany identyfikator klienta i klucz tajny klienta w odpowiednich polach.
  7. Określ nazwę ustawienia aplikacji dla wpisu tajnego klienta. Klucz tajny klienta będzie przechowywany jako ustawienie aplikacji, aby upewnić się, że wpisy tajne są przechowywane w bezpieczny sposób. Możesz zaktualizować to ustawienie później, aby użyć odwołań usługi Key Vault, jeśli chcesz zarządzać wpisem tajnym w usłudze Azure Key Vault.
  8. Naciśnij przycisk Dodaj, aby zakończyć konfigurowanie dostawcy tożsamości.

Uwaga

Nazwa dostawcy OpenID nie może zawierać symboli takich jak "-", ponieważ w oparciu o to zostanie utworzone resetowanie aplikacji i nie jest ono obsługiwane. Zamiast tego użyj ciągu "_".

Uwaga

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

Następne kroki