Udostępnij przez


Logowanie użytkowników w przykładowej aplikacji interfejsu wiersza polecenia Node.js.

W tym przewodniku użyto przykładowej aplikacji interfejsu wiersza polecenia platformy Node do logowania użytkowników w identyfikatorze Microsoft Entra dla dzierżawy klientów. Przykładowa aplikacja używa biblioteki Microsoft Authentication Library for Node (MSAL Node) do obsługi uwierzytelniania.

W tym artykule wykonasz następujące zadania:

  • Zarejestruj i skonfiguruj aplikację interfejsu wiersza polecenia Node.js klienta w centrum administracyjnym Microsoft Entra.

  • Utwórz przepływ użytkownika rejestracji i logowania w centrum administracyjnym Microsoft Entra, a następnie skojarz z nim aplikację interfejsu wiersza polecenia.

  • Zaktualizuj przykładową aplikację interfejsu wiersza polecenia, aby używać identyfikatora zewnętrznego dla szczegółów dzierżawy klientów.

  • Uruchom i przetestuj przykładową aplikację interfejsu wiersza polecenia.

Wymagania wstępne

Rejestrowanie aplikacji interfejsu wiersza polecenia Node.js

Aby umożliwić aplikacji logowanie użytkowników przy użyciu Microsoft Entra, Microsoft Entra identyfikator dla klientów musi być świadomy tworzonej aplikacji. Rejestracja aplikacji ustanawia relację zaufania między aplikacją a Microsoft Entra. Podczas rejestrowania aplikacji identyfikator zewnętrzny generuje unikatowy identyfikator znany jako identyfikator aplikacji (klienta) — wartość używana do identyfikowania aplikacji podczas tworzenia żądań uwierzytelniania.

W poniższych krokach pokazano, jak zarejestrować aplikację w centrum administracyjnym Microsoft Entra:

  1. Zaloguj się do centrum administracyjnego Microsoft Entra co najmniej jako deweloper aplikacji.

  2. Jeśli masz dostęp do wielu dzierżaw, użyj filtru Katalogi i subskrypcje w górnym menu, aby przełączyć się do dzierżawy klienta.

  3. Przejdź do aplikacji tożsamości>>Rejestracje aplikacji.

  4. Wybierz pozycję + Nowa rejestracja.

  5. Na wyświetlonej stronie Rejestrowanie aplikacji ;

    1. Wprowadź zrozumiałą nazwę aplikacji wyświetlaną dla użytkowników aplikacji, na przykład ciam-client-app.
    2. W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym.
  6. Wybierz pozycję Zarejestruj.

  7. Po pomyślnej rejestracji zostanie wyświetlone okienko Przegląd aplikacji. Zapisz identyfikator aplikacji (klienta) do użycia w kodzie źródłowym aplikacji.

Dodawanie konfiguracji platformy

Aby określić typ aplikacji do rejestracji aplikacji, wykonaj następujące kroki:

  1. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.

  2. Na stronie Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz pozycję Aplikacje mobilne i klasyczne.

  3. W polu Niestandardowe identyfikatory URI przekierowania wprowadź wartość http://localhost.

  4. Wybierz pozycję Konfiguruj , aby zapisać zmiany, i upewnij się, że identyfikator URI jest wyświetlany na liście.

Aby zidentyfikować aplikację jako klienta publicznego, wykonaj następujące kroki:

  1. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.

  2. W obszarze Ustawienia zaawansowane w obszarze Zezwalaj na przepływy klientów publicznych wybierz pozycję Tak.

  3. Wybierz przycisk Zapisz, aby zapisać zmiany.

Udzielanie uprawnień interfejsu API

Ponieważ ta aplikacja loguje użytkowników, dodaj uprawnienia delegowane. Te uprawnienia umożliwiają aplikacji działanie w imieniu zalogowanego użytkownika i uzyskiwanie dostępu do zasobów, do których użytkownik ma uprawnienia dostępu.

  1. Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (np. ciam-client-app), aby otworzyć stronę Przegląd.

  2. W obszarze Zarządzanie wybierz pozycję Uprawnienia interfejsu API.

  3. W obszarze Skonfigurowane uprawnienia wybierz pozycję Dodaj uprawnienie.

  4. Wybierz kartę Interfejsy API firmy Microsoft .

  5. W sekcji Często używane interfejsy API firmy Microsoft wybierz pozycję Microsoft Graph.

  6. Wybierz opcję Uprawnienia delegowane .

  7. W sekcji Wybieranie uprawnień wyszukaj i wybierz uprawnienia openid i offline_access .

  8. Wybierz przycisk Dodaj uprawnienia .

  9. W tym momencie uprawnienia zostały przypisane poprawnie. Jednak ponieważ dzierżawa jest dzierżawą klienta, użytkownicy konsumentów sami nie mogą wyrazić zgody na te uprawnienia. Użytkownik jako administrator musi wyrazić zgodę na te uprawnienia w imieniu wszystkich użytkowników w dzierżawie:

    1. Wybierz pozycję Udziel zgody administratora dla <swojej nazwy> dzierżawy, a następnie wybierz pozycję Tak.
    2. Wybierz pozycję Odśwież, a następnie sprawdź, czy w obszarze Stan dla obu zakresów jest wyświetlana wartość Udzielono dla <nazwy> dzierżawy.

Tworzenie przepływu użytkownika

Wykonaj następujące kroki, aby utworzyć przepływ użytkownika, który klient może użyć do zalogowania się lub zarejestrowania aplikacji.

  1. Zaloguj się do centrum administracyjnego Microsoft Entra jako co najmniej administrator przepływu użytkownika identyfikatora zewnętrznego.

  2. Jeśli masz dostęp do wielu dzierżaw, użyj filtru Katalogi i subskrypcje w górnym menu, aby przełączyć się do dzierżawy klienta.

  3. Przejdź do sekcji IdentityExternal IdentitiesUser flows (Przepływy> użytkownika tożsamości zewnętrznych tożsamości>).

  4. Wybierz pozycję + Nowy przepływ użytkownika.

  5. Na stronie Tworzenie :

    1. Wprowadź nazwę przepływu użytkownika, na przykład SignInSignUpSample.

    2. Na liście Dostawcy tożsamości wybierz pozycję Email Konta. Ten dostawca tożsamości umożliwia użytkownikom logowanie się lub rejestrowanie przy użyciu ich adresu e-mail.

      Uwaga

      Dodatkowi dostawcy tożsamości będą wyświetlani w tym miejscu dopiero po skonfigurowaniu federacji z nimi. Jeśli na przykład skonfigurujesz federację z usługą Google lub Facebook, będzie można wybrać tych dodatkowych dostawców tożsamości tutaj.

    3. W obszarze Email kont możesz wybrać jedną z dwóch opcji. Na potrzeby tego samouczka wybierz pozycję Email z hasłem.

      • Email z hasłem: umożliwia nowym użytkownikom zarejestrowanie się i zalogowanie się przy użyciu adresu e-mail jako nazwy logowania i hasła jako pierwszego poświadczenia czynnika.

      • Email jednorazowego kodu dostępu: umożliwia nowym użytkownikom rejestrację i logowanie się przy użyciu adresu e-mail jako nazwy logowania i jednorazowego kodu dostępu jako pierwszego poświadczenia czynnika.

        Uwaga

        Email jednorazowy kod dostępu musi być włączony na poziomie dzierżawy (Wszyscy dostawcy> tożsamości Email jednorazowy kod dostępu), aby ta opcja została udostępniona na poziomie przepływu użytkownika.

    4. W obszarze Atrybuty użytkownika wybierz atrybuty, które chcesz zebrać od użytkownika podczas rejestracji. Wybierając pozycję Pokaż więcej, możesz wybrać atrybuty i oświadczenia dla kraju/regionu, nazwy wyświetlanej i kodu pocztowego. Wybierz przycisk OK. (Użytkownicy są monitowani tylko o atrybuty podczas rejestracji po raz pierwszy).

  6. Wybierz przycisk Utwórz. Nowy przepływ użytkownika zostanie wyświetlony na liście Przepływy użytkownika . W razie potrzeby odśwież stronę.

Aby włączyć samoobsługowe resetowanie hasła, wykonaj kroki opisane w artykule Włączanie samoobsługowego resetowania hasła .

Kojarzenie aplikacji interfejsu wiersza polecenia Node.js z przepływem użytkownika

Chociaż wiele aplikacji może być skojarzonych z przepływem użytkownika, z jednym przepływem użytkownika może być skojarzona tylko jedna aplikacja. Przepływ użytkownika umożliwia konfigurację środowiska użytkownika dla określonych aplikacji. Można na przykład skonfigurować przepływ użytkownika, który wymaga od użytkowników logowania się lub tworzenia konta przy użyciu numeru telefonu lub adresu e-mail.

  1. W menu paska bocznego wybierz pozycję Tożsamość.

  2. Wybierz pozycję Tożsamości zewnętrzne, a następnie przepływy użytkownika.

  3. Na stronie Przepływy użytkownika wybierz utworzoną wcześniej nazwę przepływu użytkownika , na przykład SignInSignUpSample.

  4. W obszarze Użyj wybierz pozycję Aplikacje.

  5. Wybierz pozycję Dodaj aplikację.

  6. Wybierz aplikację z listy, taką jak ciam-client-app , lub użyj pola wyszukiwania, aby znaleźć aplikację, a następnie wybierz ją.

  7. Wybierz pozycję Wybierz.

Klonowanie lub pobieranie przykładowej aplikacji interfejsu wiersza polecenia Node.js

Aby uzyskać przykładową aplikację interfejsu wiersza polecenia Node.js, możesz pobrać przykładowe aplikacje .zip pliku lub sklonować przykładową aplikację interfejsu wiersza polecenia z usługi GitHub, uruchamiając następujące polecenie:

git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git

Konfigurowanie przykładowej aplikacji interfejsu wiersza polecenia Node.js

Aby skonfigurować aplikację kliencą (Node.js aplikacji interfejsu wiersza polecenia) do używania szczegółów rejestracji aplikacji Microsoft Entra, otwórz projekt w środowisku IDE i wykonaj następujące kroki:

  1. Otwórz plik App\authConfig.js .

  2. Znajdź symbol zastępczy:

    • Enter_the_Application_Id_Herezastąp istniejącą wartość identyfikatorem aplikacji (clientId) node-cli-app aplikacji skopiowaną z centrum administracyjnego Microsoft Entra.
    • Enter_the_Tenant_Subdomain_Here i zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy to contoso.onmicrosoft.com, użyj polecenia contoso. Jeśli nie masz nazwy dzierżawy, dowiedz się, jak odczytywać szczegóły dzierżawy

Uruchamianie i testowanie przykładowej aplikacji interfejsu wiersza polecenia Node.js

Teraz możesz przetestować przykładową aplikację interfejsu wiersza polecenia Node.js.

  1. W terminalu uruchom następujące polecenie:

    cd 1-Authentication\6-sign-in-node-cli-app\App
    npm start
    
  2. Przeglądarka zostanie otwarta automatycznie i powinna zostać wyświetlona strona podobna do następującej:

    Zrzut ekranu przedstawiający stronę logowania w aplikacji interfejsu wiersza polecenia węzła.

  3. Na stronie logowania wpisz adres Email. Jeśli nie masz konta, wybierz pozycję Nie masz konta? Utwórz jeden, który uruchamia przepływ rejestracji.

  4. Jeśli wybierzesz opcję rejestracji, po wypełnieniu wiadomości e-mail jednorazowym kodem dostępu, nowym hasłem i więcej szczegółów konta, ukończ cały przepływ rejestracji. Po ukończeniu przepływu rejestracji i zalogowaniu się zostanie wyświetlona strona podobna do poniższego zrzutu ekranu:

    Zrzut ekranu przedstawiający zalogowanego użytkownika w aplikacji interfejsu wiersza polecenia węzła.

  5. Wróć do terminalu i wyświetl informacje dotyczące uwierzytelniania, w tym oświadczenia tokenu identyfikatora.

Następne kroki

Instrukcje: