Konfigurowanie uwierzytelniania w aplikacji internetowej platformy Azure przy użyciu usługi Azure AD B2C

W tym artykule wyjaśniono, jak dodać funkcje uwierzytelniania usługi Azure Active Directory B2C (Azure AD B2C) do aplikacji internetowej platformy Azure. Aby uzyskać więcej informacji, zapoznaj się z artykułem dotyczącym konfigurowania usługi App Service lub aplikacji usługi Azure Functions do logowania przy użyciu dostawcy Połączenie OpenID.

Omówienie

OpenID Połączenie (OIDC) to protokół uwierzytelniania oparty na protokole OAuth 2.0. Użyj funkcji OIDC, aby bezpiecznie logować użytkowników do aplikacji internetowej platformy Azure. Przepływ logowania obejmuje następujące kroki:

  1. Użytkownicy przechodzą do aplikacji internetowej platformy Azure i wybierają pozycję Zaloguj się.
  2. Aplikacja internetowa platformy Azure inicjuje żądanie uwierzytelniania i przekierowuje użytkowników do usługi Azure AD B2C.
  3. Użytkownicy zarejestrują się lub zalogują się i zresetuj hasło. Alternatywnie mogą zalogować się przy użyciu konta społecznościowego.
  4. Po pomyślnym zalogowaniu użytkowników usługa Azure AD B2C zwraca token identyfikatora do aplikacji internetowej platformy Azure.
  5. Aplikacja internetowa platformy Azure weryfikuje token identyfikatora, odczytuje oświadczenia i zwraca bezpieczną stronę do użytkowników.

Gdy token identyfikatora wygaśnie lub sesja aplikacji zostanie unieważniona, aplikacja internetowa platformy Azure inicjuje nowe żądanie uwierzytelniania i przekierowuje użytkowników do usługi Azure AD B2C. Jeśli sesja logowania jednokrotnego usługi Azure AD B2C jest aktywna, usługa Azure AD B2C wystawia token dostępu bez monitowania użytkowników o ponowne zalogowanie. Jeśli sesja usługi Azure AD B2C wygaśnie lub stanie się nieprawidłowa, użytkownicy będą monitowani o ponowne zalogowanie.

Wymagania wstępne

  • Jeśli jeszcze nie utworzono aplikacji, postępuj zgodnie ze wskazówkami dotyczącymi tworzenia aplikacji internetowej platformy Azure.

Krok 1. Konfigurowanie przepływu użytkownika

Gdy użytkownicy próbują zalogować się do aplikacji, aplikacja uruchamia żądanie uwierzytelniania do punktu końcowego autoryzacji za pośrednictwem przepływu użytkownika. Przepływ użytkownika definiuje i kontroluje środowisko użytkownika. Po zakończeniu przepływu użytkownika usługa Azure AD B2C generuje token, a następnie przekierowuje użytkowników z powrotem do aplikacji.

Jeśli jeszcze tego nie zrobiono, utwórz przepływ użytkownika lub zasady niestandardowe. Powtórz kroki, aby utworzyć trzy oddzielne przepływy użytkownika w następujący sposób:

  • Połączony przepływ logowania i rejestracji użytkownika, taki jak susi. Ten przepływ użytkownika obsługuje również środowisko Nie pamiętasz hasła .
  • Przepływ użytkownika do edycji profilu, taki jak edit_profile.
  • Przepływ użytkownika resetowania hasła, taki jak reset_password.

Usługa Azure AD B2C poprzedza B2C_1_ nazwę przepływu użytkownika. Na przykład, susi staje się B2C_1_susi.

Krok 2. Rejestrowanie aplikacji internetowej

Aby umożliwić aplikacji logowanie się za pomocą usługi Azure AD B2C, zarejestruj aplikację w katalogu usługi Azure AD B2C. Zarejestrowanie aplikacji ustanawia relację zaufania między aplikacją a usługą Azure AD B2C.

Podczas rejestracji aplikacji określisz identyfikator URI przekierowania. Identyfikator URI przekierowania to punkt końcowy, do którego użytkownicy są przekierowywani przez usługę Azure AD B2C po uwierzytelnieniu w usłudze Azure AD B2C. Proces rejestracji aplikacji generuje identyfikator aplikacji, znany również jako identyfikator klienta, który jednoznacznie identyfikuje twoją aplikację. Po zarejestrowaniu aplikacji usługa Azure AD B2C używa zarówno identyfikatora aplikacji, jak i identyfikatora URI przekierowania do tworzenia żądań uwierzytelniania. Tworzysz również klucz tajny klienta, którego aplikacja używa do bezpiecznego uzyskiwania tokenów.

Krok 2.1. Rejestrowanie aplikacji

Aby zarejestrować aplikację, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy usługi Azure AD B2C z menu Katalogi i subskrypcje.

  3. W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.

  4. Wybierz pozycję Rejestracje aplikacji, a następnie wybierz pozycję Nowa rejestracja.

  5. W obszarze Nazwa wprowadź nazwę aplikacji (na przykład Moja aplikacja internetowa platformy Azure).

  6. W obszarze Obsługiwane typy kont wybierz Konta w dowolnym dostawcy tożsamości lub katalogu organizacyjnym (do uwierzytelniania użytkowników za pomocą przepływów użytkownika).

  7. W obszarze Identyfikator URI przekierowania wybierz pozycję Sieć Web, a następnie w polu Adres URL wprowadź .https://<YOUR_SITE>/.auth/login/aadb2c/callback Zastąp element <YOUR_SITE> nazwą aplikacji internetowej platformy Azure. Na przykład: https://contoso.azurewebsites.net/.auth/login/aadb2c/callback. Jeśli skonfigurowano domeny niestandardowe aplikacji internetowej platformy Azure, użytkownik domeny niestandardowej w identyfikatorze URI przekierowania. Na przykład https://www.contoso.com/.auth/login/aadb2c/callback

  8. W obszarze Uprawnienia zaznacz pole wyboru Udziel zgody administratora na uprawnienia do otwierania i dostępu w trybie offline.

  9. Wybierz pozycję Zarejestruj.

  10. Wybierz Przegląd.

  11. Zarejestruj identyfikator aplikacji (klienta) do późniejszego użycia podczas konfigurowania aplikacji internetowej.

    Screenshot of the web app Overview page for recording your web application I D.

Krok 2.2. Tworzenie wpisu tajnego klienta

  1. Na stronie Azure AD B2C — Rejestracje aplikacji wybierz utworzoną aplikację, na przykład Moja aplikacja internetowa platformy Azure.
  2. W menu po lewej stronie w obszarze Zarządzaj wybierz pozycję Certyfikaty i wpisy tajne.
  3. Wybierz Nowy klucz tajny klienta.
  4. Wprowadź opis wpisu tajnego klienta w polu Opis . Na przykład clientsecret1.
  5. W obszarze Wygasa wybierz czas trwania, dla którego wpis tajny jest prawidłowy, a następnie wybierz pozycję Dodaj.
  6. Zapisz wartość wpisu tajnego do użycia w kodzie aplikacji klienckiej. Ta wartość wpisu tajnego nigdy nie jest wyświetlana ponownie po opuszczeniu tej strony. Ta wartość jest używana jako wpis tajny aplikacji w kodzie aplikacji.

Krok 3. Konfigurowanie aplikacja systemu Azure

  1. Zaloguj się w witrynie Azure Portal.

  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy Microsoft Entra ID z menu Katalogi i subskrypcje.

  3. Przejdź do aplikacji internetowej platformy Azure.

  4. Wybierz pozycję Uwierzytelnianie w menu po lewej stronie. Wybierz pozycję Dodaj dostawcę tożsamości.

  5. Wybierz pozycję OpenID Połączenie na liście rozwijanej dostawca tożsamości.

  6. W polu Nazwa dostawcy OpenID wpisz aadb2c.

  7. W polu Wpis metadanych wybierz pozycję Adres URL dokumentu. Następnie dla adresu URL dokumentu podaj następujący adres URL :

    https://<TENANT_NAME>.b2clogin.com/<TENANT_NAME>.onmicrosoft.com/<POLICY_NAME>/v2.0/.well-known/openid-configuration
    
    1. Zastąp <TENANT_NAME> element pierwszą częścią nazwy dzierżawy usługi Azure AD B2C (na przykład https://contoso.b2clogin.com/contoso.onmicrosoft.com). Jeśli masz skonfigurowane domeny niestandardowe, możesz użyć tej domeny niestandardowej. Zastąp nazwę dzierżawy B2C contoso.onmicrosoft.com w adresie URL żądania uwierzytelniania identyfikatorem GUID dzierżawy. Możesz na przykład zmienić wartość https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ na https://account.contosobank.co.uk/<tenant ID GUID>/.

    2. Zastąp element <POLICY_NAME> przepływami użytkownika lub zasadami niestandardowymi utworzonymi w kroku 1.

  8. W polu Identyfikator klienta podaj identyfikator aplikacji internetowej (klienta) z kroku 2.1.

  9. W przypadku wpisu tajnego klienta podaj wpis tajny aplikacji internetowej (klienta) z kroku 2.2.

    Napiwek

    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.

  10. Zachowaj pozostałe ustawienia przy użyciu wartości domyślnych.

  11. Naciśnij przycisk Dodaj, aby zakończyć konfigurowanie dostawcy tożsamości.

Krok 4. Sprawdzanie aplikacji internetowej platformy Azure

  1. W przeglądarce przejdź do aplikacji internetowej platformy Azure przy użyciu polecenia https://<app-name>.azurewebsites.net . Zastąp element <app-name> aplikacją internetową platformy Azure.
  2. Ukończ proces rejestracji lub logowania.
  3. W przeglądarce przejdź do następującego adresu URL https://<app-name>.azurewebsites.net/.auth/me , aby wyświetlić informacje o zalogowanym użytkowniku. Zastąp element <app-name> aplikacją internetową platformy Azure.

Pobieranie tokenów w kodzie aplikacji

Z poziomu kodu serwera tokeny specyficzne dla dostawcy są wstrzykiwane do nagłówka żądania, dzięki czemu można łatwo uzyskać do nich dostęp. W poniższej tabeli przedstawiono możliwe nazwy nagłówków tokenu:

Nazwa nagłówka opis
X-MS-CLIENT-PRINCIPAL-NAME Nazwa wyświetlana użytkownika.
X-MS-CLIENT-PRINCIPAL-ID Oświadczenie podrzędne tokenu identyfikatora.
X-MS-CLIENT-PRINCIPAL-IDP Nazwa dostawcy tożsamości, aadb2c.
X-MS-TOKEN-AADB2C-ID-TOKEN Token identyfikatora wystawiony przez usługę Azure AD B2C

Następne kroki