Szybki start: logowanie użytkowników i wywoływanie interfejsu API programu Microsoft Graph z aplikacji internetowej ASP.NET Core

W tym przewodniku Szybki start użyto przykładowej aplikacji internetowej ASP.NET Core, aby pokazać, jak logować użytkowników przy użyciu przepływu kodu autoryzacji i wywoływać interfejs API programu Microsoft Graph. W przykładzie użyto biblioteki Microsoft Authentication Library dla platformy .NET i sieci Web tożsamości firmy Microsoft do obsługi uwierzytelniania.

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 ikonyUstawienia 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-web-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) i identyfikator aplikacji (klienta) do użycia 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ę.

Dodawanie identyfikatora URI przekierowania platformy

Aby określić typ aplikacji do rejestracji aplikacji, wykonaj następujące kroki:

  1. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
  2. Na stronie Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz opcję Sieć Web.
  3. W polu Identyfikatory URI przekierowania wprowadź wartość https://localhost:5001/signin-oidc.
  4. W obszarze Adres URL wylogowywania kanału frontonu wprowadź ciąg https://localhost:5001/signout-callback-oidc w celu wylogowania.
  5. Wybierz pozycję Konfiguruj, aby zapisać zmiany.

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.

Tworzenie i przekazywanie certyfikatu z podpisem własnym

  1. Korzystając z terminalu, użyj następujących poleceń, aby przejść do tworzenia certyfikatu z podpisem własnym w katalogu projektu.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Wróć do centrum administracyjnego firmy Microsoft Entra, a następnie w obszarze Zarządzanie wybierz pozycję Certyfikaty i wpisy tajne>Przekaż certyfikat.

  3. Wybierz kartę Certyfikaty (0), a następnie wybierz pozycję Przekaż certyfikat.

  4. Zostanie wyświetlone okienko Przekazywanie certyfikatu . Użyj ikony, aby przejść do pliku certyfikatu utworzonego w poprzednim kroku, a następnie wybierz pozycję Otwórz.

  5. Wprowadź opis certyfikatu, na przykład Certyfikat dla aplikacji aspnet-web-app, a następnie wybierz pozycję Dodaj.

  6. Zapisz wartość odcisku palca do użycia w następnym kroku.

Konfigurowanie projektu

  1. W środowisku IDE otwórz folder projektu ms-identity-docs-code-dotnet\web-app-aspnet zawierający przykład.

  2. Otwórz appsettings.json i zastąp zawartość pliku poniższym fragmentem kodu;

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "ClientCertificates": [
        {
          "SourceType": "StoreWithThumbprint",
          "CertificateStorePath": "CurrentUser/My",
          "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
        }   
      ],
      "CallbackPath": "/signin-oidc"
    },
      "DownstreamApi": {
        "BaseUrl": "https://graph.microsoft.com/v1.0/",
        "RelativePath": "me",
        "Scopes": [ 
          "user.read" 
        ]
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    
    • TenantId — identyfikator dzierżawy, w której zarejestrowano aplikację. Zastąp Directory (tenant) ID tekst w cudzysłowach zapisanymi wcześniej na stronie przeglądu zarejestrowanej aplikacji.
    • 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.
    • ClientCertificates — Certyfikat z podpisem własnym jest używany do uwierzytelniania w aplikacji. Zastąp tekst CertificateThumbprint odciskiem palca certyfikatu, który został wcześniej zarejestrowany.

Uruchamianie aplikacji i logowanie

  1. W katalogu projektu użyj terminalu, aby wprowadzić następujące polecenie;

    dotnet run
    
  2. https Skopiuj adres URL wyświetlany w terminalu, na przykład https://localhost:5001, i wklej go w przeglądarce. Zalecamy używanie prywatnej lub incognito sesji przeglądarki.

  3. Wykonaj kroki i wprowadź niezbędne szczegóły, aby zalogować się przy użyciu konta Microsoft. Poprosisz o podanie adresu e-mail, aby można było wysłać do Ciebie jednorazowy kod dostępu. Wprowadź kod po wyświetleniu monitu.

  4. Aplikacja żąda uprawnień do utrzymania dostępu do danych, do których udzielono mu dostępu, oraz do zalogowania się i odczytania profilu. Wybierz pozycję Zaakceptuj.

  5. Zostanie wyświetlony poniższy zrzut ekranu wskazujący, że zalogowano się do aplikacji i uzyskać dostęp do szczegółów profilu z interfejsu API programu Microsoft Graph.

    Zrzut ekranu przedstawiający wyniki wywołania interfejsu API.

Wylogowywanie z aplikacji

  1. Znajdź link Wyloguj się w prawym górnym rogu strony i wybierz go.
  2. Zostanie wyświetlony monit o wybranie konta do wylogowania. Wybierz konto użyte do zalogowania się.
  3. Zostanie wyświetlony komunikat z informacją o wylogowaniach. Teraz możesz zamknąć okno przeglądarki.