Szybki start: logowanie użytkowników i wywoływanie interfejsu API programu Microsoft Graph z aplikacji internetowej Node.js przy użyciu środowiska MSAL Node
W tym przewodniku Szybki start pobierzesz i uruchomisz przykładowy kod, który pokazuje, jak aplikacja internetowa Node.js może logować użytkowników przy użyciu przepływu kodu autoryzacji. Przykładowy kod pokazuje również, jak uzyskać token dostępu w celu wywołania interfejsu API programu Microsoft Graph.
Zobacz Jak działa przykład, aby zapoznać się z ilustracją.
W tym przewodniku Szybki start użyto biblioteki Microsoft Authentication Library dla Node.js (MSAL Node) z przepływem kodu autoryzacji.
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz bezpłatnie subskrypcję platformy Azure.
- Node.js
- Visual Studio Code lub inny edytor kodu
Rejestrowanie i pobieranie aplikacji Szybki start
Krok 1. Rejestrowanie aplikacji
Napiwek
Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.
- Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej Administracja istrator aplikacji w chmurze.
- Jeśli masz dostęp do wielu dzierżaw, użyj ikonyUstawienia w górnym menu, aby przełączyć się do dzierżawy, w której chcesz zarejestrować aplikację z menu Katalogi i subskrypcje.
- Przejdź do pozycji Identity>Applications> Rejestracje aplikacji i wybierz pozycję Nowa rejestracja.
- Wprowadź nazwę aplikacji. Użytkownicy aplikacji mogą zobaczyć tę nazwę i możesz ją zmienić później.
- W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym.
- Ustaw typ identyfikatora URI przekierowania na Sieć Web i wartość na
http://localhost:3000/auth/redirect
. - Wybierz pozycję Zarejestruj.
- Na stronie Przegląd aplikacji zanotuj wartość Identyfikator aplikacji (klienta) do późniejszego użycia.
- W obszarze Zarządzanie wybierz pozycję Certyfikaty i wpisy tajne Klienta Wpisy>tajne>Nowego klienta. Pozostaw opis pusty i domyślny wygaśnięcie, a następnie wybierz pozycję Dodaj.
- Zanotuj wartość klucza tajnego klienta do późniejszego użycia.
Krok 2. Pobieranie projektu
Aby uruchomić projekt z serwerem internetowym przy użyciu Node.js, pobierz podstawowe pliki projektu.
Krok 3. Konfigurowanie aplikacji Node
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
Krok 4. Uruchamianie projektu
Uruchom projekt przy użyciu Node.js.
Aby uruchomić serwer, uruchom następujące polecenia z poziomu katalogu projektu:
cd App npm install npm start
Przejdź do
http://localhost:3000/
.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ępne kroki
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: