Szybki start: logowanie użytkowników i wywoływanie programu Microsoft Graph z poziomu aplikacji klasycznej Node.js
W tym przewodniku Szybki start pobierzesz i uruchomisz przykładowy kod, który pokazuje, jak aplikacja klasyczna Electron może logować użytkowników i uzyskiwać tokeny dostępu w celu wywołania interfejsu API programu Microsoft Graph.
W tym przewodniku Szybki start użyto biblioteki Microsoft Authentication Library dla Node.js (MSAL Node) z przepływem kodu autoryzacji za pomocą protokołu PKCE.
Wymagania wstępne
- Node.js
- Visual Studio Code lub inny edytor kodu
Rejestrowanie i pobieranie przykładowej aplikacji
Wykonaj poniższe kroki, aby rozpocząć pracę.
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.
Aby ręcznie zarejestrować aplikację i dodać informacje na temat rejestracji aplikacji do rozwiązania, wykonaj następujące czynności:
- Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator aplikacji w chmurze.
- 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.
- Przejdź do pozycji Identity>Applications> Rejestracje aplikacji i wybierz pozycję Nowa rejestracja.
- Wprowadź nazwę aplikacji, na przykład
msal-node-desktop
. Użytkownicy aplikacji mogą zobaczyć tę nazwę i możesz ją zmienić później. - Wybierz pozycję Zarejestruj, aby utworzyć aplikację.
- W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
- Wybierz pozycję Dodaj platformę>Aplikacje mobilne i klasyczne.
- W sekcji Identyfikatory URI przekierowania wprowadź .
http://localhost
- Wybierz Konfiguruj.
Krok 2. Pobieranie przykładowego projektu Electron
Krok 3. Konfigurowanie przykładowego projektu Electron
*Wyodrębnij projekt, otwórz folder ms-identity-JavaScript-nodejs-desktop-main , a następnie otwórz plik .authConfig.js . Zastąp wartość 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_Id_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_Redirect_Uri_Here |
Identyfikator URI przekierowania zarejestrowanej aplikacji | msal00001111-aaaa-2222-bbbb-3333cccc4444://auth |
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) |
Plik powinien wyglądać podobnie do poniższego:
const AAD_ENDPOINT_HOST = "https://login.microsoftonline.com/"; // include the trailing slash
const msalConfig = {
auth: {
clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
authority: `${AAD_ENDPOINT_HOST}/aaaabbbb-0000-cccc-1111-dddd2222eeee`,
},
system: {
loggerOptions: {
loggerCallback(loglevel, message, containsPii) {
console.log(message);
},
piiLoggingEnabled: false,
logLevel: LogLevel.Verbose,
}
}
}
const GRAPH_ENDPOINT_HOST = "https://graph.microsoft.com/"; // include the trailing slash
const protectedResources = {
graphMe: {
endpoint: `${GRAPH_ENDPOINT_HOST}v1.0/me`,
scopes: ["User.Read"],
}
};
module.exports = {
msalConfig: msalConfig,
protectedResources: protectedResources,
};
Krok 4. Uruchamianie aplikacji
Należy zainstalować zależności tego przykładu raz:
cd ms-identity-javascript-nodejs-desktop-main npm install
Następnie uruchom aplikację za pomocą wiersza polecenia lub konsoli:
npm start
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 aplikacji.
Więcej informacji
Jak działa przykład
Gdy użytkownik wybierze przycisk Zaloguj się po raz pierwszy, acquireTokenInteractive
wywoływana jest metoda biblioteki MSAL Node. Ta metoda przekierowuje użytkownika do logowania się przy użyciu punktu końcowego Platforma tożsamości Microsoft, uzyskuje kod autoryzacji, a następnie wymienia go na token dostępu.
Węzeł BIBLIOTEKI MSAL
Biblioteka MSAL Node to biblioteka używana do logowania użytkowników i żądania tokenów używanych do uzyskiwania dostępu do interfejsu API chronionego przez Platforma tożsamości Microsoft. Aby uzyskać więcej informacji na temat korzystania z biblioteki MSAL Node z aplikacjami klasycznymi, zobacz ten artykuł.
Węzeł MSAL można zainstalować, uruchamiając następujące polecenie npm.
npm install @azure/msal-node --save
Następne kroki
Aby dowiedzieć się więcej na temat tworzenia aplikacji klasycznych electron za pomocą biblioteki MSAL Node, zobacz samouczek: