Udostępnij za pośrednictwem


Samouczek: przygotowywanie aplikacji do uwierzytelniania

W poprzednim samouczku zarejestrowano aplikację internetową w centrum administracyjnym Microsoft Entra. W tym samouczku pokazano, jak utworzyć aplikację internetową platformy ASP.NET Core przy użyciu środowiska IDE. Utworzysz i przekażesz certyfikat z podpisem własnym do centrum administracyjnego firmy Microsoft Entra, aby zabezpieczyć aplikację. Na koniec skonfigurujesz aplikację na potrzeby uwierzytelniania.

W tym samouczku:

  • Tworzenie aplikacji internetowej ASP.NET Core
  • Tworzenie certyfikatu z podpisem własnym
  • Konfigurowanie ustawień aplikacji
  • Definiowanie ustawień i adresów URL platformy

Warunki wstępne

Tworzenie projektu ASP.NET Core

Użyj poniższych kart, aby utworzyć projekt ASP.NET Core w środowisku IDE.

  • programu Visual Studio
  • programu Visual Studio Code
  1. Otwórz program Visual Studio, a następnie wybierz pozycję Utwórz nowy projekt.
  2. Wyszukaj i wybierz szablon ASP.NET Core Web App, a następnie wybierz Dalej.
  3. Wprowadź nazwę projektu, na przykład NewWebAppLocal.
  4. Wybierz lokalizację projektu lub zaakceptuj opcję domyślną, a następnie wybierz pozycję Dalej.
  5. Zaakceptuj ustawienie domyślne dla Framework, typ uwierzytelniania, i konfiguracji dla HTTPS. Typ uwierzytelniania można ustawić na None, ponieważ ten samouczek wyjaśnia ten proces.
  6. Wybierz pozycję Utwórz.

Tworzenie i przekazywanie certyfikatu z podpisem własnym

Użycie certyfikatów to sugerowany sposób zabezpieczania komunikacji między klientem a serwerem. Na potrzeby tego samouczka w katalogu projektu zostanie utworzony samopodpisany certyfikat. Dowiedz się więcej o certyfikatach z podpisem własnym tutaj.

  • programu Visual Studio
  • programu Visual Studio Code
  1. Wybierz Tools > Command Line > Developer Command Prompt.

  2. Wprowadź następujące polecenie, aby utworzyć nowy certyfikat z podpisem własnym:

    dotnet dev-certs https -ep ./certificate.crt --trust
    

Przesyłanie certyfikatu do centrum administracyjnego Microsoft Entra

Aby certyfikat mógł być udostępniony aplikacji, należy go przesłać do obszaru roboczego.

  1. Rozpocznij od strony Przegląd aplikacji utworzonej wcześniej, w obszarze Zarządzajwybierz pozycję Certyfikaty & tajne informacje i wybierz zakładkę Certyfikaty (0).

  2. Wybierz Przekaż certyfikat.

    Zrzut ekranu przedstawiający przekazywanie certyfikatu do dzierżawy Entra firmy Microsoft.

  3. Wybierz ikonę folderu , a następnie wyszukaj i wybierz utworzony wcześniej certyfikat.

  4. Wprowadź opis certyfikatu i wybierz pozycję Dodaj.

  5. Zapisz wartość odcisku palca, która będzie używana w następnym kroku.

    Zrzut ekranu przedstawiający kopiowanie odcisku palca certyfikatu.

Konfigurowanie aplikacji dla uwierzytelniania i referencji API

Zarejestrowane wcześniej wartości będą używane do konfigurowania aplikacji na potrzeby uwierzytelniania. Plik konfiguracji appsettings.jsonsłuży do przechowywania ustawień aplikacji używanych w czasie wykonywania. Ponieważ aplikacja będzie również wywoływać internetowy interfejs API, musi również zawierać odwołanie do niego.

  1. W środowisku IDE otwórz appsettings.json i zastąp zawartość pliku poniższym fragmentem kodu. Zastąp tekst w cudzysłowach wartościami, które zostały zarejestrowane wcześniej.

    {
    "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": "*"
    }
    
    • Instance — punkt końcowy uwierzytelniania. Sprawdź różne dostępne punkty końcowe w chmurach krajowych .
    • TenantId — identyfikator dzierżawcy, gdzie aplikacja została zarejestrowana. Zastąp tekst w znakach cudzysłowu wartością identyfikatora Directory (dzierżawy), którą zarejestrowano wcześniej na stronie przeglądu zarejestrowanej aplikacji.
    • ClientId — identyfikator aplikacji, nazywany również klientem. Zastąp tekst w cudzysłowach wartością Identyfikatora aplikacji (klienta), która została zapisana 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.
    • CallbackPath — jest identyfikatorem, który ułatwia serwerowi przekierowanie odpowiedzi do odpowiedniej aplikacji.
    • DownstreamApi — jest identyfikatorem definiującym punkt końcowy na potrzeby uzyskiwania dostępu do programu Microsoft Graph. Identyfikator URI aplikacji jest połączony z określonym zakresem. Aby zdefiniować konfigurację aplikacji należącej do organizacji, wartość atrybutu Scopes jest nieco inna.
  2. Zapisz zmiany w pliku.

  3. W folderze Properties otwórz plik launchSettings.json.

  4. Znajdź i zapisz wartość httpsapplicationURI w launchSettings.json, na przykład https://localhost:{port}. Ten adres URL będzie używany podczas definiowania identyfikatora URI przekierowania . Nie używaj wartości http.

Dodaj identyfikator URI przekierowania platformy

  1. W centrum administracyjnym firmy Microsoft Entra w obszarze Zarządzajwybierz pozycję Rejestracje aplikacji, a następnie wybierz utworzoną wcześniej aplikację.

  2. W menu po lewej stronie, w sekcji Zarządzaj, wybierz pozycję Uwierzytelnianie.

  3. W konfiguracji platformywybierz pozycję Dodaj pozycję platforma, a następnie wybierz pozycję Sieć.

    Zrzut ekranu przedstawiający sposób wybierania platformy dla aplikacji.

  4. W obszarze Identyfikatory URI przekierowaniawprowadź applicationURL i CallbackPath/signin-oidcw postaci https://localhost:{port}/signin-oidc.

  5. W obszarze URL wylogowania front-channelwprowadź poniższy adres URL, https://localhost:{port}/signout-oidc.

  6. Wybierz Konfiguruj.

Następne kroki