Utworzenie aplikacji w Azure - aplikacja desktopowa Graph API
logo microsoft i korpo szef Utworzenie aplikacji w Azure

Utworzenie aplikacji w Azure – aplikacja desktopowa Graph API

Tworzenie aplikacji desktopowej, która może logować użytkowników i odczytywać ich dane za pomocą Microsoft Graph API, wymaga kilku kluczowych kroków. Aplikacja ta, jako multitenant, będzie mogła obsługiwać użytkowników z różnych organizacji, nie ograniczając się tylko do jednej domeny. Poniżej przedstawiam instrukcję, jak wygląda utworzenie aplikacji w Azure.

Utworzenie aplikacji w Azure – Microsoft Entra ID

Aby aplikacja mogła komunikować się z Microsoft Graph API, konieczna jest jej rejestracja w Azure Active Directory. Postępuj według poniższych kroków:

Zaloguj się do portalu Azure (https://portal.azure.com).

azure strona główna

Przejdź do Azure Microsoft Entra > Rejestracja aplikacji i kliknij Nowa rejestracja.

przycisk rejestracja aplikacji
  1. Wprowadź nazwę aplikacji.
  2. Wybierz Konta w dowolnym katalogu organizacji jako typ konta, co umożliwi logowanie użytkownikom z różnych organizacji.
  3. Wybierz typ aplikacji
  4. W polu Redirect URI wpisz adres http://localhost (w przypadku aplikacji desktopowej) lub inny, zgodnie z tym, jak będziesz obsługiwać zwrot żądań.
  5. Kliknij „Rejestruj”
panel rejestracji aplikacji azure

Po zarejestrowaniu aplikacji zapisz wartości Application (client) ID oraz Directory (tenant) ID, ponieważ będą one niezbędne do konfiguracji aplikacji.

Uzyskanie uprawnień do Microsoft Graph

Aplikacja potrzebuje odpowiednich uprawnień, aby uzyskać dostęp do danych użytkowników z Microsoft Graph API. Oto jak je skonfigurować:

uprawnienia api azure - jak wejść
  1. W sekcji API Permissions dla zarejestrowanej aplikacji dodaj uprawnienia do Microsoft Graph:
    • Wybierz uprawnienia User.Read, które pozwalają na odczyt danych o zalogowanym użytkowniku.
    • Jeśli aplikacja ma działać bez udziału użytkownika (np. w tle), dodaj uprawnienia Application (uprawnienia aplikacji). W przeciwnym wypadku wystarczą uprawnienia Delegated (uprawnienia delegowane).
  2. Jeśli aplikacja ma wymagać dostępu do innych zasobów (np. danych z grup, e-maili, plików OneDrive), możesz dodać odpowiednie uprawnienia, np. Mail.Read, Files.Read itd.
  3. Aby aplikacja mogła wykonywać operacje wymagające administracyjnych zgód, administratorzy każdej organizacji będą musieli zatwierdzić aplikację i przyznać jej odpowiednie uprawnienia.
uprawnienia interfejsu api azure

Implementacja aplikacji desktopowej

W tym kroku zbudujemy aplikację, która zaloguje użytkownika za pomocą Azure AD i uzyska token dostępu do Microsoft Graph API. Do tego celu najlepiej użyć biblioteki MSAL (Microsoft Authentication Library), która ułatwia integrację aplikacji z systemami autoryzacji Microsoftu.

Instalacja MSAL: Zainstaluj bibliotekę MSAL dla swojego środowiska. Jeśli piszesz aplikację w C#, użyj:

Install-Package Microsoft.Identity.Client

Konfiguracja MSAL: W aplikacji musisz skonfigurować bibliotekę MSAL, aby mogła uwierzytelniać użytkowników.

var pca = PublicClientApplicationBuilder
             .Create("Application (client) ID")
             .WithAuthority(AzureCloudInstance.AzurePublic, "Directory (tenant) ID")
             .WithRedirectUri("http://localhost")
             .Build();

Logowanie użytkownika i uzyskanie tokena:

Gdy aplikacja jest już skonfigurowana, możesz zaimplementować logowanie i pozyskanie tokena dostępu do Microsoft Graph API:

var accounts = await pca.GetAccountsAsync();
var result = await pca.AcquireTokenInteractive(new[] { "User.Read" })
                      .WithAccount(accounts.FirstOrDefault())
                      .ExecuteAsync();

Wykorzystanie Microsoft Graph API: Mając token dostępu, możesz teraz wywoływać Microsoft Graph API, aby odczytać dane użytkowników. Na przykład, aby odczytać dane o profilu użytkownika:

var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
var response = await client.GetAsync("https://graph.microsoft.com/v1.0/me");
var content = await response.Content.ReadAsStringAsync();

Podsumowanie

Tworzenie aplikacji desktopowej multitenant w Azure, która korzysta z Microsoft Graph API, wymaga kilku kroków: rejestracji aplikacji w Azure AD, uzyskania odpowiednich uprawnień do Graph API, implementacji logowania za pomocą MSAL oraz obsługi multitenant, co pozwala na obsługę użytkowników z różnych organizacji. Technologia .NET daje ogromne możliwości, oczywiście jeżeli Twoja firma nada Ci odpowiednie uprawnienia ;).

Obraz Gerd Altmann z Pixabay

azuretenant
Udostępnij:
Utworzenie aplikacji w Azure – aplikacja desktopowa Graph API
Napisane przez
Michał Wrochna
Co myślisz o tym artykule?
1 reakcja
love
1
like
0
so-so
0
weakly
0
0 komentarzy
Najnowsze komentarze
  • Najnowsze komentarze
  • Najlepsze komentarze
Zaloguj się, aby dodać komentarz.
Prawa zastrzeżone Pi Corp sp. z o.o. copyright 2020-2022