Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku szybkiego startu pobierzesz i uruchomisz kod przykładowy, który pokazuje, jak aplikacja na uniwersalnej platformie Windows (UWP) może logować użytkowników i uzyskiwać token dostępu w celu wywołania API Microsoft Graph.
Zobacz Jak działa próbka dla ilustracji.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz bezpłatne konto.
- Visual Studio
Uwaga
MSAL.NET w wersji 4.61.0 lub nowszej nie zapewnia obsługi Platforma Uniwersalna systemu Windows (UWP), Xamarin Android oraz Xamarin iOS. Zalecamy migrację aplikacji UWP (Universal Windows Platform) do nowoczesnych frameworków, takich jak WINUI. Przeczytaj więcej o wycofaniu w artykule "Ogłoszenie nadchodzącego wycofania MSAL.NET dla platform Xamarin i UWP".
Rejestrowanie i pobieranie aplikacji Szybki start
Istnieją dwie opcje uruchamiania aplikacji Szybki start:
- [Express] Opcja 1. Rejestrowanie i automatyczne konfigurowanie aplikacji, a następnie pobieranie przykładu kodu
- [Ręczne] Opcja 2. Rejestrowanie i ręczne konfigurowanie aplikacji i przykładu kodu
Opcja 1. Zarejestrowanie i automatyczne skonfigurowanie aplikacji, a następnie pobranie przykładowego kodu
- Przejdź do centrum administracyjnego usługi AMicrosoft Entra — przewodnik Szybki start dotyczący rejestracji aplikacji .
- Wprowadź nazwę aplikacji i wybierz pozycję Zarejestruj.
- Postępuj zgodnie z instrukcjami, aby pobrać i automatycznie skonfigurować nową aplikację.
Opcja 2. Zarejestrowanie i ręczne skonfigurowanie aplikacji oraz przykładowego kodu
Krok 1. Rejestrowanie aplikacji
Aby 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.
- 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 pozycjiRejestracje aplikacji>, wybierz pozycję Nowa rejestracja.
- Wprowadź nazwę aplikacji, na przykład
UWP-App-calling-MsGraph
. Użytkownicy aplikacji mogą zobaczyć tę nazwę i możesz ją zmienić później. - W sekcji Obsługiwane typy kont wybierz pozycję Konta w dowolnym katalogu organizacyjnym i osobistych kontach Microsoft (na przykład Skype, Xbox, Outlook.com).
- Wybierz pozycję Zarejestruj , aby utworzyć aplikację, a następnie zapisz identyfikator aplikacji (klienta) do użycia w późniejszym kroku.
- W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
- Wybierz pozycję Dodaj platformę>Aplikacje mobilne i klasyczne.
- W obszarze Identyfikatory URI przekierowania wybierz pozycję
https://login.microsoftonline.com/common/oauth2/nativeclient
. - Wybierz pozycję Konfiguruj.
Krok 2. Pobieranie projektu
Pobieranie przykładowej aplikacji platformy UWP
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. Konfigurowanie projektu
Wyodrębnij archiwum .zip do folderu lokalnego w pobliżu katalogu głównego dysku. Na przykład w folderze C:\Azure-Samples.
Otwórz projekt w programie Visual Studio. Zainstaluj pakiet narzędzi deweloperskich dla platformy uniwersalnej systemu Windows i wszystkie poszczególne składniki zestawu SDK na żądanie.
W MainPage.Xaml.cs zmień wartość
ClientId
zmiennej na identyfikator aplikacji (klienta) zarejestrowanej wcześniej aplikacji.private const string ClientId = "Enter_the_Application_Id_here";
Identyfikator aplikacji (klienta) można znaleźć w okienku Przegląd aplikacji w centrum administracyjnym firmy Microsoft Entra (rejestracje> aplikacji Entra ID>{Rejestracja aplikacji}).
Utwórz, a następnie wybierz nowy certyfikat testowy z podpisem własnym dla pakietu:
- W Eksploratorze rozwiązań kliknij dwukrotnie plik Package.appxmanifest .
- Wybierz pozycję Pakowanie>wybierz certyfikat...>Utwórz....
- Wprowadź hasło, a następnie wybierz przycisk OK. Zostanie utworzony certyfikat o nazwie Native_UWP_V2_TemporaryKey.pfx .
- Wybierz przycisk OK , aby odrzucić okno dialogowe Wybieranie certyfikatu , a następnie sprawdź, czy w Eksploratorze rozwiązań jest widoczny komunikat Native_UWP_V2_TemporaryKey.pfx .
- W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt Native_UWP_V2 i wybierz polecenie Właściwości.
- Wybierz pozycję Podpisywanie, a następnie wybierz utworzony przez ciebie plik .pfx w rozwijanym menu Wybierz plik klucza silnej nazwy.
Krok 4. Uruchamianie aplikacji
Aby uruchomić przykładową aplikację na komputerze lokalnym:
Na pasku narzędzi programu Visual Studio wybierz odpowiednią platformę (prawdopodobnie x64 lub x86, a nie ARM). Urządzenie docelowe powinno zmienić się z Urządzenia na Komputer lokalny.
Wybierz pozycję Debuguj>rozpocznij bez debugowania.
Jeśli zostanie wyświetlony monit o to, może być konieczne włączenie trybu dewelopera, a następnie ponownie uruchom aplikację bez debugowania .
Po wyświetleniu okna aplikacji możesz wybrać przycisk Wywołaj interfejs API programu Microsoft Graph , wprowadzić poświadczenia i wyrazić zgodę na uprawnienia żądane przez aplikację. Jeśli operacja powiedzie się, aplikacja wyświetli pewne informacje o tokenie i dane uzyskane z wywołania interfejsu API programu Microsoft Graph.
Jak działa przykład
MSAL.NET
MSAL (Microsoft.Identity.Client) to biblioteka używana do logowania użytkowników i żądania tokenów zabezpieczających. Tokeny zabezpieczające są używane 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
Inicjalizacja MSAL
Aby dodać odwołanie do biblioteki MSAL, dodaj następujący kod:
using Microsoft.Identity.Client;
Następnie biblioteka MSAL jest inicjowana przy użyciu następującego kodu:
public static IPublicClientApplication PublicClientApp;
PublicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.Build();
Wartość ClientId
to identyfikator aplikacji (klienta) aplikacji, którą zarejestrowałeś w centrum administracyjnym Microsoft Entra. Tę wartość można znaleźć na stronie Przegląd aplikacji w centrum administracyjnym firmy Microsoft Entra.
Przesyłanie żądań tokenów
Biblioteka MSAL ma dwie metody pobierania tokenów w aplikacji platformy UWP: AcquireTokenInteractive
i AcquireTokenSilent
.
Interaktywne pobieranie tokenu użytkownika
Niektóre sytuacje wymagają wymuszenia, aby użytkownicy korzystali z platformy tożsamości Microsoft za pośrednictwem okna podręcznego, w celu zweryfikowania swoich poświadczeń lub wyrażenia zgody. Przykłady obejmują:
- 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 zasobu, użytkownik musi wyrazić zgodę na
- Gdy wymagane jest uwierzytelnianie dwuetapowe.
authResult = await PublicClientApp.AcquireTokenInteractive(scopes)
.ExecuteAsync();
Parametr 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
Użyj metody AcquireTokenSilent
, aby uzyskać tokeny umożliwiające dostęp do chronionych zasobów po zastosowaniu początkowej metody AcquireTokenInteractive
. Nie chcesz wymagać, aby użytkownik weryfikował swoje poświadczenia za każdym razem, gdy musi uzyskać dostęp do zasobu. Zazwyczaj chcesz, aby pozyskiwanie tokenów i ich odnawianie odbywało się bez interakcji z użytkownikiem.
var accounts = await PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
-
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 pierwsze konto 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 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.