Szybki start: aplikacja konsolowa platformy .NET, która uzyskuje dostęp do chronionego internetowego interfejsu API
W tym przewodniku Szybki start użyto przykładowej aplikacji konsolowej .NET w celu uzyskania dostępu do chronionego internetowego interfejsu API jako własnej tożsamości przy użyciu biblioteki Microsoft Authentication Library (MSAL) dla platformy .NET. Aplikacja jest aplikacją demona, która jest poufną aplikacją kliencką i używa przepływu OAuth poświadczeń klienta w celu uzyskania tokenu dostępu w celu wywołania interfejsu API programu Microsoft Graph.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Jeśli jeszcze go nie masz, utwórz bezpłatne konto.
- Minimalne wymaganie zestawu .NET 6.0 SDK
- Visual Studio 2022 lub Visual Studio Code
Rejestrowanie aplikacji i identyfikatorów rekordów
Aby ukończyć rejestrację, podaj nazwę aplikacji i określ obsługiwane typy kont. Po zarejestrowaniu okienko Przegląd aplikacji wyświetla identyfikatory wymagane w kodzie źródłowym aplikacji.
Zaloguj się do centrum administracyjnego usługi 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 pozycji Identity>Applications> Rejestracje aplikacji wybierz pozycję Nowa rejestracja.
Wprowadź nazwę aplikacji, taką jak identity-client-daemon-app.
W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym. Aby uzyskać informacje o różnych typach kont, wybierz opcję Pomoc dla mnie .
Wybierz pozycję Zarejestruj.
Po zakończeniu rejestracji zostanie wyświetlone okienko Przegląd aplikacji. Zapisz identyfikator katalogu (dzierżawy), identyfikator aplikacji (klienta) i identyfikator obiektu, który ma być używany w kodzie źródłowym aplikacji.
Uwaga
Obsługiwane typy kont można zmienić, odwołując się do modyfikowania kont obsługiwanych przez aplikację.
Tworzenie wpisu tajnego klienta
- W centrum administracyjnym firmy Microsoft Entra przejdź do pozycji Aplikacje> tożsamości>Rejestracje aplikacji.
- Wybierz zarejestrowaną wcześniej aplikację.
- W okienku Przegląd aplikacji wybierz pozycję Certyfikaty i wpisy tajne Nowy klucz tajny> klienta.
- Wprowadź opis wpisu tajnego w polu Opis .
- Wybierz okres wygaśnięcia wpisu tajnego.
- Wybierz Dodaj.
- Zapisz wartość wpisu tajnego klienta. Wartość jest wyświetlana tylko raz, dlatego pamiętaj, aby ją zarejestrować.
Klonowanie lub pobieranie przykładowej aplikacji
Aby uzyskać przykładową aplikację, możesz ją sklonować z usługi GitHub lub pobrać jako plik .zip .
Aby sklonować przykład, otwórz wiersz polecenia i przejdź do miejsca, w którym chcesz utworzyć projekt, a następnie wprowadź następujące polecenie:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
Pobierz plik .zip. Wyodrębnij go do ścieżki pliku, w której długość nazwy jest mniejsza niż 260 znaków.
Konfigurowanie projektu
W środowisku IDE otwórz folder projektu ms-identity-docs-code-dotnet/console-demon, zawierający przykład.
Otwórz Program.cs i zastąp zawartość pliku następującym fragmentem kodu;
// Full directory URL, in the form of https://login.microsoftonline.com/<tenant_id> Authority = " https://login.microsoftonline.com/Enter_the_tenant_ID_obtained_from_the_Microsoft_Entra_admin_center", // 'Enter the client ID obtained from the Microsoft Entra admin center ClientId = "Enter the client ID obtained from the Microsoft Entra admin center", // Client secret 'Value' (not its ID) from 'Client secrets' in the Microsoft Entra admin center ClientSecret = "Enter the client secret value obtained from the Microsoft Entra admin center", // Client 'Object ID' of app registration in Microsoft Entra admin center - this value is a GUID ClientObjectId = "Enter the client Object ID obtained from the Microsoft Entra admin center"
Authority
— Urząd jest adresem URL wskazującym katalog, z którego biblioteka MSAL może żądać tokenów. Zastąp Enter_the_tenant_ID wartością identyfikatora katalogu (dzierżawy), która została zarejestrowana wcześniej.ClientId
— Identyfikator aplikacji, nazywany również klientem. Zastąp tekst w cudzysłowach wartościąApplication (client) ID
zarejestrowaną wcześniej na stronie przeglądu zarejestrowanej aplikacji.ClientSecret
— Wpis tajny klienta utworzony dla aplikacji w centrum administracyjnym firmy Microsoft Entra. Wprowadź wartość wpisu tajnego klienta.ClientObjectId
— identyfikator obiektu aplikacji klienckiej. Zastąp tekst w cudzysłowach wartościąObject ID
zarejestrowaną wcześniej na stronie przeglądu zarejestrowanej aplikacji.
Uruchamianie aplikacji
W terminalu przejdź do katalogu projektu ms-identity-docs-code-dotnet/console-demon.
Uruchom następujące polecenie, aby skompilować i uruchomić aplikację:
dotnet run
Aplikacja jest uruchamiana i wyświetla odpowiedź podobną do następującej (skróconą w celu zwięzłości):
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity", "id": "00001111-aaaa-2222-bbbb-3333cccc4444", "deletedDateTime": null, "appId": "00001111-aaaa-2222-bbbb-3333cccc4444", "applicationTemplateId": null, "disabledByMicrosoftStatus": null, "createdDateTime": "2021-01-17T15:30:55Z", "displayName": "identity-dotnet-console-app", "description": null, "groupMembershipClaims": null, ... }
Powiązana zawartość
- Dowiedz się, tworząc tę ASP.NET aplikację internetową, korzystając z serii Samouczek: rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft.
- Szybki start: ochrona internetowego interfejsu API platformy ASP.NET Core przy użyciu Platforma tożsamości Microsoft.
- Szybki start: wdrażanie aplikacji internetowej ASP.NET w usłudze aplikacja systemu Azure Service