Udostępnij za pośrednictwem


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

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.

  1. Zaloguj się do centrum administracyjnego usługi Microsoft Entra.

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

  3. Przejdź do pozycji Identity>Applications> Rejestracje aplikacji wybierz pozycję Nowa rejestracja.

  4. Wprowadź nazwę aplikacji, taką jak identity-client-daemon-app.

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

  6. Wybierz pozycję Zarejestruj.

    Zrzut ekranu przedstawiający sposób wprowadzania nazwy i wybierania typu konta w centrum administracyjnym firmy Microsoft Entra.

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

    Zrzut ekranu przedstawiający wartości identyfikatorów na stronie przeglądu w centrum administracyjnym firmy Microsoft Entra.

    Uwaga

    Obsługiwane typy kont można zmienić, odwołując się do modyfikowania kont obsługiwanych przez aplikację.

Tworzenie wpisu tajnego klienta

  1. W centrum administracyjnym firmy Microsoft Entra przejdź do pozycji Aplikacje> tożsamości>Rejestracje aplikacji.
  2. Wybierz zarejestrowaną wcześniej aplikację.
  3. W okienku Przegląd aplikacji wybierz pozycję Certyfikaty i wpisy tajne Nowy klucz tajny> klienta.
  4. Wprowadź opis wpisu tajnego w polu Opis .
  5. Wybierz okres wygaśnięcia wpisu tajnego.
  6. Wybierz Dodaj.
  7. 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

  1. W środowisku IDE otwórz folder projektu ms-identity-docs-code-dotnet/console-demon, zawierający przykład.

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

  1. W terminalu przejdź do katalogu projektu ms-identity-docs-code-dotnet/console-demon.

  2. Uruchom następujące polecenie, aby skompilować i uruchomić aplikację:

    dotnet run
    
  3. 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,
    ...
    }