Udostępnij za pośrednictwem


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żyjesz przykładowej aplikacji internetowej ASP.NET Core do logowania użytkowników przy użyciu przepływu kodu autoryzacji i wywołania interfejsu API programu Microsoft Graph. W przykładzie użyto biblioteki microsoft Authentication Library dla platformy .NET i microsoft identity Web do obsługi uwierzytelniania.

Warunki wstępne

Zarejestruj aplikację i zapisz identyfikatory

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

  2. Jeśli masz dostęp do wielu dzierżaw, użyj ikony „Ustawienia” w górnym menu, aby przełączyć się na dzierżawę, w której chcesz zarejestrować aplikację, z menu Katalogi i subskrypcje.

  3. Przejdź do Identity>Applications>App registrations, kliknij New registration.

  4. Wprowadź nazwę dla aplikacji, na przykład identity-client-web-app.

  5. W przypadku typów kont obsługiwanych wybierz pozycję konta w tym katalogu organizacyjnym tylko. Aby uzyskać informacje na temat różnych typów kont, wybierz opcję Pomóż mi wybrać opcję.

  6. Wybierz pozycję Zarejestruj.

    Zrzut ekranu pokazujący, jak wprowadzić nazwę i wybrać typ konta w centrum administracyjnym firmy Microsoft Entra.

  7. Po zakończeniu rejestracji zostanie wyświetlone okno Przegląd aplikacji . Zapisz identyfikator katalogu (dzierżawy) oraz identyfikator aplikacji (klienta) do zastosowania w kodzie źródłowym aplikacji.

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

    Uwaga

    Obsługiwane typy kont można zmienić, przez odwołanie się do Modyfikowanie kont obsługiwanych przez aplikację.

Dodaj identyfikator URI przekierowania platformy

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

  1. W obszarze Zarządzajwybierz pozycję Uwierzytelnianie.
  2. Na stronie Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz opcję Web.
  3. W identyfikatory URI przekierowania wprowadź https://localhost:5001/signin-oidc.
  4. W polu URL wylogowania kanału frontowegowprowadź https://localhost:5001/signout-callback-oidc, aby się wylogować.
  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

Aby zabezpieczyć aplikację, należy dodać certyfikat do aplikacji. W tej sekcji pokazano, jak utworzyć certyfikat z podpisem własnym i przekazać go do rejestracji aplikacji w centrum administracyjnym firmy Microsoft Entra.

Notatka

Certyfikaty z podpisem własnym powinny być używane tylko w dewelopmencie. W środowisku produkcyjnym należy użyć certyfikatu z zaufanego urzędu certyfikacji.

  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 i w obszarze Zarządzajwybierz pozycję certyfikaty certyfikatów & wpisów tajnych,>przekaż certyfikat.

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

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

  5. Wprowadź opis dla certyfikatu, na przykład Certyfikat dla aspnet-web-app, i wybierz Dodaj.

  6. Zapisz wartość odcisku palca, aby użyć w następnym kroku.

Konfigurowanie projektu

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

  2. Otwórz appsettings.json i zastąp zawartość pliku następującym 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żawcy, w którym zarejestrowano aplikację. Zastąp tekst w cudzysłowach tekstem Directory (tenant) ID, który został zapisany 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. Skopiuj adres URL https wyświetlany w terminalu, na przykład https://localhost:5001i 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 uzyskano dostęp do szczegółów profilu z interfejsu API 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 kliknij 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.