Udostępnij przez


Szybki start: uzyskiwanie tokenu i wywoływanie interfejsu API programu Microsoft Graph z poziomu aplikacji klasycznej systemu Windows

Mile widziany! Prawdopodobnie nie jest to oczekiwana strona. Chociaż pracujemy nad poprawką, ten link powinien podjąć Cię do odpowiedniego artykułu:

Szybki start: logowanie użytkowników i wywoływanie programu Microsoft Graph w aplikacji klasycznej systemu Windows

Przepraszamy za niedogodności i doceniamy cierpliwość, podczas gdy pracujemy nad rozwiązaniem tego problemu.

W tym przewodniku Szybki start pobierzesz i uruchomisz przykładowy kod, który pokazuje, jak aplikacja Windows Presentation Foundation (WPF) może logować użytkowników i uzyskiwać token dostępu w celu wywołania interfejsu API programu Microsoft Graph.

Aby zobaczyć ilustrację, sprawdź jak działa próbka.

Krok 1. Konfigurowanie aplikacji w witrynie Azure Portal

Aby przykładowy kod w tym szybkim starcie działał, dodaj identyfikator URI przekierowania oraz https://login.microsoftonline.com/common/oauth2/nativeclientms-appx-web://microsoft.aad.brokerplugin/{client_id}.

Już skonfigurowane Aplikacja jest skonfigurowana przy użyciu tych atrybutów.

Krok 2. Pobieranie projektu programu Visual Studio

Uruchom projekt przy użyciu programu Visual Studio 2019.

Wskazówka

Aby uniknąć błędów spowodowanych ograniczeniami długości ścieżki w systemie Windows, zalecamy wyodrębnienie archiwum lub sklonowanie repozytorium do katalogu w pobliżu katalogu głównego dysku.

Krok 3. Aplikacja jest skonfigurowana i gotowa do uruchomienia

Skonfigurowaliśmy projekt z wartościami właściwości aplikacji i wszystko jest gotowe do uruchomienia.

Uwaga / Notatka

Enter_the_Supported_Account_Info_Here

Więcej informacji

Jak działa przykład

Wyjaśnia, jak działa przykładowa aplikacja wygenerowana przez ten szybki start

MSAL.NET

Biblioteka MSAL (Microsoft.Identity.Client) jest używana do logowania użytkowników i żądania tokenów niezbędnych do uzyskiwania dostępu do interfejsu API chronionego przez platformę tożsamości Microsoft. Bibliotekę MSAL można zainstalować, uruchamiając następujące polecenie w konsoli menedżera pakietów programu Visual Studio:

Install-Package Microsoft.Identity.Client -IncludePrerelease

Inicjowanie MSAL

Aby dodać odwołanie do biblioteki MSAL, dodaj następujący kod:

using Microsoft.Identity.Client;

Następnie zainicjuj bibliotekę MSAL przy użyciu następującego kodu:

IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                .WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
                .Build();
Gdzie: Opis
ClientId Jest identyfikatorem aplikacji (klienta) dla aplikacji zarejestrowanej w witrynie Azure Portal. Tę wartość można znaleźć na stronie Przegląd aplikacji w witrynie Azure Portal.

Żądanie tokenów

MSAL ma dwie metody uzyskiwania tokenów: AcquireTokenInteractive i AcquireTokenSilent.

Interaktywne pobieranie tokenu użytkownika

Niektóre sytuacje wymagają wymuszenia interakcji użytkowników z platformą tożsamości firmy Microsoft za pośrednictwem okna podręcznego w celu zweryfikowania ich poświadczeń lub wyrażenia zgody. Oto kilka przykładów:

  • Przy pierwszym logowaniu użytkowników do aplikacji
  • Gdy użytkownicy mogą wymagać ponownego podania poświadczeń, ponieważ hasło wygasło
  • Gdy aplikacja żąda dostępu do zasobu, użytkownik musi wyrazić zgodę na
  • Gdy wymagane jest uwierzytelnianie dwuskładnikowe
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
                                      .ExecuteAsync();
Gdzie: Opis
_scopes Zawiera żądane zakresy, takie jak { "user.read" } dla programu Microsoft Graph lub { "api://<Application ID>/access_as_user" } dla niestandardowych interfejsów API dla sieci web.

Dyskretne pobieranie tokenu użytkownika

Nie chcesz wymagać, aby użytkownik weryfikował swoje poświadczenia za każdym razem, gdy musi uzyskać dostęp do zasobu. W większości przypadków potrzebujesz pozyskiwania i odnawiania tokenów bez interakcji z użytkownikiem. Możesz użyć metody AcquireTokenSilent, aby uzyskać tokeny w celu uzyskania dostępu do chronionych zasobów po początkowej metodzie AcquireTokenInteractive:

var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
Gdzie: Opis
scopes Zawiera żądane zakresy, takie jak { "user.read" } dla programu Microsoft Graph lub { "api://<Application ID>/access_as_user" } dla niestandardowych interfejsów API dla sieci web.
firstAccount Określa pierwszego użytkownika w pamięci podręcznej (biblioteka MSAL obsługuje wielu użytkowników w ramach jednej aplikacji).

Pomoc i wsparcie

Jeśli potrzebujesz pomocy, chcesz zgłosić problem lub poznać opcje pomocy technicznej, zobacz Pomoc i obsługa techniczna dla deweloperów.

Dalsze kroki

Wypróbuj samouczek dotyczący pulpitu systemu Windows, aby uzyskać kompletny przewodnik krok po kroku dotyczący tworzenia aplikacji i nowych funkcji, w tym pełne objaśnienie tego szybkiego startu.

samouczek dotyczący interfejsu API wywołania programu Graph