Samouczek: przygotowywanie aplikacji do uwierzytelniania
W poprzednim samouczku zarejestrowano aplikację internetową w centrum administracyjnym firmy 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
Wymagania wstępne
- Ukończenie wymagań wstępnych i kroków w artykule Samouczek: rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft.
- Środowisko IDE używane w tym samouczku można pobrać tutaj.
- Visual Studio 2022
- Visual Studio Code
- Visual Studio 2022 dla komputerów Mac
- Minimalne wymaganie zestawu .NET 6.0 SDK.
Tworzenie projektu platformy ASP.NET Core
Użyj poniższych kart, aby utworzyć projekt ASP.NET Core w środowisku IDE.
- Otwórz program Visual Studio, a następnie wybierz pozycję Utwórz nowy projekt.
- Wyszukaj i wybierz szablon ASP.NET Core Web App , a następnie wybierz przycisk Dalej.
- Wprowadź nazwę projektu, na przykład NewWebAppLocal.
- Wybierz lokalizację projektu lub zaakceptuj opcję domyślną, a następnie wybierz przycisk Dalej.
- Zaakceptuj wartość domyślną dla opcji Struktura, Typ uwierzytelniania i Skonfiguruj dla protokołu HTTPS. Typ uwierzytelniania można ustawić na Wartość Brak , ponieważ ten samouczek obejmuje proces.
- 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 certyfikat z podpisem własnym. Dowiedz się więcej o certyfikatach z podpisem własnym tutaj.
Wybierz pozycję Narzędzia > Wiersz polecenia dla deweloperów wiersza polecenia>.
Wprowadź następujące polecenie, aby utworzyć nowy certyfikat z podpisem własnym:
dotnet dev-certs https -ep ./certificate.crt --trust
Przekazywanie certyfikatu do centrum administracyjnego firmy Microsoft Entra
Aby udostępnić certyfikat aplikacji, należy go przekazać do dzierżawy.
Począwszy od strony Przegląd utworzonej wcześniej aplikacji w obszarze Zarządzanie wybierz pozycję Certyfikaty i wpisy tajne, a następnie wybierz kartę Certyfikaty (0).
Wybierz pozycję Przekaż certyfikat.
Wybierz ikonę folderu , a następnie wyszukaj i wybierz utworzony wcześniej certyfikat.
Wprowadź opis certyfikatu i wybierz pozycję Dodaj.
Zapisz wartość odcisku palca, która będzie używana w następnym kroku.
Konfigurowanie aplikacji na potrzeby uwierzytelniania i dokumentacji interfejsu API
Zarejestrowane wcześniej wartości będą używane do konfigurowania aplikacji na potrzeby uwierzytelniania. Plik konfiguracji, appsettings.json, sł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.
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żawy, w której zarejestrowano aplikację. Zastąp tekst w cudzysłowach wartością identyfikatora katalogu (dzierżawy), która została zarejestrowana 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 zarejestrowana wcześniej na stronie przeglądu zarejestrowanej aplikacji.ClientCertificates
— Certyfikat z podpisem własnym jest używany do uwierzytelniania w aplikacji. Zastąp tekstCertificateThumbprint
odciskiem palca certyfikatu, który został wcześniej zarejestrowany.CallbackPath
— Jest identyfikatorem, który pomaga serwerowi przekierować odpowiedź 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ść atrybutuScopes
jest nieco inna.
Zapisz zmiany w pliku.
W folderze Właściwości otwórz plik launch Ustawienia.json.
Znajdź i zarejestruj wartość w ramach uruchamiania
https
Ustawienia.json na przykładhttps://localhost:{port}
.applicationURI
Ten adres URL będzie używany podczas definiowania identyfikatora URI przekierowania. Nie używajhttp
wartości .
Dodawanie identyfikatora URI przekierowania platformy
W centrum administracyjnym firmy Microsoft Entra w obszarze Zarządzanie wybierz pozycję Rejestracje aplikacji, a następnie wybierz aplikację, która została wcześniej utworzona.
W menu po lewej stronie w obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
W obszarze Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz pozycję Sieć Web.
W obszarze Identyfikatory URI przekierowania wprowadź
applicationURL
wartości iCallbackPath
,/signin-oidc
w postacihttps://localhost:{port}/signin-oidc
.W obszarze Adres URL wylogowywania kanału frontonu wprowadź następujący adres URL do wylogowania.
https://localhost:{port}/signout-oidc
Wybierz Konfiguruj.