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

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:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej Administracja istrator aplikacji w chmurze.
  2. 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.
  3. Przejdź do pozycji Identity>Applications> Rejestracje aplikacji i wybierz pozycję Nowa rejestracja.
  4. Wprowadź nazwę aplikacji, na przykład msal-node-desktop. Użytkownicy aplikacji mogą zobaczyć tę nazwę i możesz ją zmienić później.
  5. Wybierz pozycję Zarejestruj, aby utworzyć aplikację.
  6. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
  7. Wybierz pozycję Dodaj platformę>Aplikacje mobilne i klasyczne.
  8. W sekcji Identyfikatory URI przekierowania wprowadź .http://localhost
  9. Wybierz Konfiguruj.

Krok 2. Pobieranie przykładowego projektu Electron

Pobieranie przykładu kodu

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

  1. Należy zainstalować zależności tego przykładu raz:

    cd ms-identity-javascript-nodejs-desktop-main
    npm install
    
  2. Następnie uruchom aplikację za pomocą wiersza polecenia lub konsoli:

    npm start
    
  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 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: