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

Witamy! 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.

Zobacz Jak działa przykład, aby zapoznać się z ilustracją.

Krok 1. Konfigurowanie aplikacji w witrynie Azure Portal

Aby przykładowy kod w tym przewodniku Szybki start działał, dodaj identyfikator URI przekierowania i ms-appx-web://microsoft.aad.brokerplugin/{client_id}https://login.microsoftonline.com/common/oauth2/nativeclient .

Already configured 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.

Napiwek

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

Enter_the_Supported_Account_Info_Here

Więcej informacji

Jak działa przykład

Shows how the sample app generated by this quickstart works

MSAL.NET

BIBLIOTEKA MSAL (Microsoft.Identity.Client) 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. 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 biblioteki MSAL

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

using Microsoft.Identity.Client;

Następnie zainicjuj bibliotekę MSAL, używając 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.

Przesyłanie żądań tokenów

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

Interaktywne pobieranie tokenu użytkownika

Niektóre sytuacje wymagają wymuszenia interakcji użytkowników z Platforma tożsamości Microsoft za pośrednictwem okna podręcznego, aby zweryfikować swoje poświadczenia lub wyrazić zgodę. Przykłady obejmują:

  • Gdy nowi użytkownicy logują się do aplikacji po raz pierwszy.
  • Gdy użytkownicy muszą ponownie wprowadzić poświadczenia, ponieważ hasło wygasło.
  • Gdy aplikacja żąda dostępu do zasobów wymagającego zgody użytkownika.
  • Gdy wymagane jest uwierzytelnianie dwuetapowe.
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
                                      .ExecuteAsync();
Gdzie: opis
_scopes Zawiera żądane zakresy, takie jak { "user.read" } program Microsoft Graph lub { "api://<Application ID>/access_as_user" } niestandardowe internetowe interfejsy API.

Dyskretne pobieranie tokenu użytkownika

Nie chcesz, aby użytkownik musiał weryfikować poświadczenia za każdym razem, gdy musi uzyskać dostęp do zasobu. Przez większość czasu uzyskiwanie i odnawianie tokenów powinno odbywać się bez żadnej interakcji z użytkownikiem. Możesz użyć metody AcquireTokenSilent do uzyskiwania tokenów umożliwiających dostęp do chronionych zasobów po początkowym skorzystaniu z metody 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" } program Microsoft Graph lub { "api://<Application ID>/access_as_user" } niestandardowe internetowe interfejsy API.
firstAccount Określa pierwszego użytkownika w pamięci podręcznej (biblioteka MSAL obsługuje wielu użytkowników w jednej aplikacji).

Pomoc i obsługa techniczna 

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

Następne kroki

Wypróbuj samouczek dotyczący aplikacji klasycznych systemu Windows, aby uzyskać instrukcje krok po kroku dotyczące tworzenia aplikacji i nowych funkcji, w tym pełne objaśnienie informacji zawartych w tym podręczniku Szybki start.