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:
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
.
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
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.