Udostępnij za pośrednictwem


Szybki start: logowanie użytkowników i wywoływanie interfejsu API programu Microsoft Graph z aplikacji internetowej Node.js

W tym przewodniku Szybki start użyto przykładowej aplikacji internetowej Node.js, aby pokazać, jak logować użytkowników przy użyciu przepływu kodu autoryzacji i wywoływać interfejs API programu Microsoft Graph. W przykładzie użyto środowiska MSAL Node do obsługi uwierzytelniania.

Wymagania wstępne

Rejestrowanie aplikacji i identyfikatorów rekordów

Aby ukończyć rejestrację, podaj nazwę aplikacji i określ obsługiwane typy kont. Po zarejestrowaniu okienko Przegląd aplikacji wyświetla identyfikatory wymagane w kodzie źródłowym aplikacji.

  1. Zaloguj się do centrum administracyjnego usługi Microsoft Entra.

  2. Jeśli masz dostęp do wielu dzierżaw, użyj ikony Ustawienia w górnym menu, aby przełączyć się do dzierżawy, w której chcesz zarejestrować aplikację z menu Katalogi i subskrypcje.

  3. Przejdź do pozycji Identity>Applications> Rejestracje aplikacji wybierz pozycję Nowa rejestracja.

  4. Wprowadź nazwę aplikacji, taką jak identity-client-web-app.

  5. W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym. Aby uzyskać informacje o różnych typach kont, wybierz opcję Pomoc dla mnie .

  6. Wybierz pozycję Zarejestruj.

    Zrzut ekranu przedstawiający sposób wprowadzania nazwy i wybierania typu konta w centrum administracyjnym firmy Microsoft Entra.

  7. Po zakończeniu rejestracji zostanie wyświetlone okienko Przegląd aplikacji. Zapisz identyfikator katalogu (dzierżawy) i identyfikator aplikacji (klienta) do użycia w kodzie źródłowym aplikacji.

    Zrzut ekranu przedstawiający wartości identyfikatorów na stronie przeglądu w centrum administracyjnym firmy Microsoft Entra.

    Uwaga

    Obsługiwane typy kont można zmienić, odwołując się do modyfikowania kont obsługiwanych przez aplikację.

Dodawanie identyfikatora URI przekierowania platformy i tworzenie wpisu tajnego klienta

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 opcję Sieć Web.
  3. W polu Identyfikatory URI przekierowania wprowadź wartość http://localhost:3000/auth/redirect.
  4. W obszarze Adres URL wylogowywania kanału frontonu wprowadź ciąg https://localhost:5001/signout-callback-oidc w celu wylogowania.
  5. Wybierz pozycję Konfiguruj, aby zapisać zmiany.
  6. W obszarze Zarządzanie wybierz pozycję Certyfikaty i wpisy tajne Klienta Wpisy>tajne>Nowego klienta. Wybierz opis, a następnie wybierz pozycję Dodaj.
  7. Zanotuj wartość klucza tajnego klienta do późniejszego użycia. Ta wartość jest wyświetlana tylko raz.

Klonowanie lub pobieranie przykładowej aplikacji

Aby uzyskać przykładową aplikację, możesz ją sklonować z usługi GitHub lub pobrać jako plik .zip .

  • Aby sklonować przykład, otwórz wiersz polecenia i przejdź do miejsca, w którym chcesz utworzyć projekt, a następnie wprowadź następujące polecenie:

    git clone https://github.com/Azure-Samples/ms-identity-node.git
    
  • Pobierz plik .zip. Wyodrębnij go do ścieżki pliku, w której długość nazwy jest mniejsza niż 260 znaków.

Konfigurowanie projektu

Wyodrębnij projekt, otwórz folder ms-identity-node-main , a następnie otwórz plik env w folderze App . Zastąp powyższe wartości w następujący sposób:

Zmienna opis Przykłady
Enter_the_Cloud_Instance_Id_Here Wystąpienie chmury platformy Azure, w którym zarejestrowano aplikację https://login.microsoftonline.com/ (uwzględnij końcowy ukośnik)
Enter_the_Tenant_Info_here Identyfikator dzierżawy lub domena podstawowa contoso.microsoft.com lub aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here Identyfikator klienta zarejestrowanej aplikacji 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Client_Secret_Here Wpis tajny klienta zarejestrowanej aplikacji A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here Wystąpienie chmury interfejsu API programu Microsoft Graph, które będzie wywoływane przez aplikację https://graph.microsoft.com/ (uwzględnij końcowy ukośnik)
Enter_the_Express_Session_Secret_Here Losowy ciąg znaków używany do podpisywania pliku cookie sesji express A1b-C2d_E3f.H4...

Plik powinien wyglądać podobnie do poniższego:

CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...

REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000

GRAPH_API_ENDPOINT=https://graph.microsoft.com/

EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k

Uruchamianie aplikacji i logowanie

Uruchom projekt przy użyciu Node.js.

  1. Aby uruchomić serwer, uruchom następujące polecenia z poziomu katalogu projektu:

    cd App
    npm install
    npm start
    
  2. Przejdź do http://localhost:3000/.

  3. Wybierz pozycję Zaloguj się, aby rozpocząć proces logowania.

    Przy pierwszym logowaniu zostanie wyświetlony monit o wyrażenie zgody, aby zezwolić aplikacji na logowanie się i uzyskiwanie dostępu do profilu. Po pomyślnym zalogowaniu nastąpi przekierowanie z powrotem do strony głównej aplikacji.

Więcej informacji

Jak działa przykład

Przykład hostuje serwer internetowy na hoście lokalnym, porcie 3000. Gdy przeglądarka internetowa uzyskuje dostęp do tego adresu, aplikacja renderuje stronę główną. Gdy użytkownik wybierze pozycję Zaloguj, aplikacja przekierowuje przeglądarkę do ekranu logowania microsoft Entra za pośrednictwem adresu URL wygenerowanego przez bibliotekę msAL Node. Gdy użytkownik wyrazi zgodę, przeglądarka przekierowuje użytkownika z powrotem na stronę główną aplikacji wraz z identyfikatorem i tokenem dostępu.

Węzeł BIBLIOTEKI MSAL

Biblioteka msAL Node loguje użytkowników i żąda tokenów używanych do uzyskiwania dostępu do interfejsu API chronionego przez Platforma tożsamości Microsoft. Najnowszą wersję można pobrać przy użyciu Node.js Menedżer pakietów (npm):

npm install @azure/msal-node

Następny krok

Dowiedz się więcej, tworząc aplikację internetową platformy ASP.NET Core, która loguje użytkowników w następującej serii samouczków wieloczęściowych: