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
- Ukończenie wymagań wstępnych i kroków opisanych w Samouczek: rejestrowanie aplikacji przy użyciu platformy tożsamości firmy Microsoft.
- 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 SDK platformy .NET 6.0.
Tworzenie projektu 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 Dalej.
- Wprowadź nazwę projektu, na przykład NewWebAppLocal.
- Wybierz lokalizację projektu lub zaakceptuj opcję domyślną, a następnie wybierz pozycję Dalej.
- 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. - 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.
Wybierz Tools > Command Line > Developer Command Prompt.
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.
Rozpocznij od strony Przegląd aplikacji utworzonej wcześniej, w obszarze Zarządzajwybierz pozycję Certyfikaty & tajne informacje i wybierz zakładkę Certyfikaty (0).
Wybierz 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 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.
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 tekstCertificateThumbprint
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ść atrybutuScopes
jest nieco inna.
-
Zapisz zmiany w pliku.
W folderze Properties otwórz plik launchSettings.json.
Znajdź i zapisz wartość
https
applicationURI
w launchSettings.json, na przykładhttps://localhost:{port}
. Ten adres URL będzie używany podczas definiowania identyfikatora URI przekierowania . Nie używaj wartościhttp
.
Dodaj identyfikator URI przekierowania platformy
W centrum administracyjnym firmy Microsoft Entra w obszarze Zarządzajwybierz pozycję Rejestracje aplikacji, a następnie wybierz utworzoną wcześniej aplikację.
W menu po lewej stronie, w sekcji Zarządzaj, wybierz pozycję Uwierzytelnianie.
W konfiguracji platformywybierz pozycję Dodaj pozycję platforma, a następnie wybierz pozycję Sieć.
W obszarze Identyfikatory URI przekierowaniawprowadź
applicationURL
iCallbackPath
/signin-oidc
w postacihttps://localhost:{port}/signin-oidc
.W obszarze URL wylogowania front-channelwprowadź poniższy adres URL,
https://localhost:{port}/signout-oidc
.Wybierz Konfiguruj.