Logowanie użytkowników w celu uzyskania przykładowej aplikacji internetowej ASP.NET Core w dzierżawie zewnętrznej
W tym przewodniku z instrukcjami użyto przykładowej aplikacji internetowej ASP.NET Core, aby pokazać podstawy nowoczesnego uwierzytelniania przy użyciu biblioteki Microsoft Authentication Library for .NET i Microsoft Identity Web dla platformy ASP.NET Core do obsługi uwierzytelniania.
W tym artykule zarejestrujesz aplikację internetową w centrum administracyjnym firmy Microsoft Entra i utworzysz przepływ logowania i wyloguj użytkownika. Skojarzysz aplikację internetową z przepływem użytkownika, pobierzesz i zaktualizujesz przykładową aplikację internetową ASP.NET Core przy użyciu własnych szczegółów dzierżawy zewnętrznej. Na koniec uruchomisz i przetestujesz przykładową aplikację internetową.
Wymagania wstępne
- Mimo że można używać dowolnego środowiska IDE obsługującego ASP.NET Core, program Visual Studio Code jest używany w tym przewodniku. Można go pobrać ze strony Pliki do pobrania .
- Zestaw .NET 7.0 SDK.
- Dzierżawa zewnętrzna. Aby go utworzyć, wybierz jedną z następujących metod:
- (Zalecane) Użyj rozszerzenia Tożsamość zewnętrzna Microsoft Entra, aby skonfigurować dzierżawę zewnętrzną bezpośrednio w programie Visual Studio Code.
- Utwórz nową dzierżawę zewnętrzną w centrum administracyjnym firmy Microsoft Entra.
Rejestrowanie aplikacji internetowej
Aby umożliwić aplikacji logowanie użytkowników w usłudze Microsoft Entra, Tożsamość zewnętrzna Microsoft Entra należy pamiętać o tworzonej aplikacji. Rejestracja aplikacji ustanawia relację zaufania między aplikacją a firmą Microsoft Entra. Podczas rejestrowania aplikacji identyfikator zewnętrzny generuje unikatowy identyfikator znany jako identyfikator aplikacji (klienta) — wartość używana do identyfikowania aplikacji podczas tworzenia żądań uwierzytelniania.
W poniższych krokach pokazano, jak zarejestrować aplikację w centrum administracyjnym firmy Microsoft Entra:
Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako deweloper aplikacji.
Jeśli masz dostęp do wielu dzierżaw, użyj ikony Ustawienia w górnym menu, aby przełączyć się do dzierżawy zewnętrznej z menu Katalogi i subskrypcje.
Przejdź do aplikacji > Rejestracje aplikacji.
Wybierz pozycję + Nowa rejestracja.
Na wyświetlonej stronie Rejestrowanie aplikacji ;
- Wprowadź zrozumiałą nazwę aplikacji wyświetlaną użytkownikom aplikacji, na przykład ciam-client-app.
- W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym.
Wybierz pozycję Zarejestruj.
Po pomyślnej rejestracji zostanie wyświetlone okienko Przegląd aplikacji. Zarejestruj identyfikator aplikacji (klienta), który ma być używany w kodzie źródłowym aplikacji.
Definiowanie platformy i adresów URL
Aby określić typ aplikacji do rejestracji aplikacji, wykonaj następujące kroki:
- W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
- Na stronie Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz opcję Sieć Web.
- W polu Identyfikatory URI przekierowania wprowadź wartość
https://localhost:7274/signin-oidc
. - W obszarze Adres URL wylogowywania kanału frontonu wprowadź ciąg
https://localhost:7274/signout-callback-oidc
w celu wylogowania. - Wybierz pozycję Konfiguruj, aby zapisać zmiany.
Włączanie przepływów niejawnych i hybrydowych
Utworzona aplikacja używa niejawnego przepływu, który należy włączyć.
- W sekcji Niejawne udzielanie i przepływy hybrydowe wybierz opcję Tokeny identyfikatorów.
- Wybierz pozycję Zapisz.
Dodawanie wpisu tajnego klienta aplikacji
Utwórz klucz tajny klienta dla zarejestrowanej aplikacji. Aplikacja używa wpisu tajnego klienta, aby udowodnić swoją tożsamość, gdy żąda tokenów.
- Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (np. ciam-client-app), aby otworzyć stronę Przegląd.
- W obszarze Zarządzanie wybierz pozycję Certyfikaty i wpisy tajne.
- Wybierz Nowy klucz tajny klienta.
- W polu Opis wprowadź opis wpisu tajnego klienta (na przykład wpis tajny klienta aplikacji ciam).
- W obszarze Wygasa wybierz czas trwania, dla którego wpis tajny jest prawidłowy (zgodnie z regułami zabezpieczeń organizacji), a następnie wybierz pozycję Dodaj.
- Zarejestruj wartość wpisu tajnego. Użyjesz tej wartości do konfiguracji w późniejszym kroku. Wartość wpisu tajnego nie zostanie ponownie wyświetlona i nie będzie pobierana w żaden sposób po przejściu z obszaru Certyfikaty i wpisy tajne. Upewnij się, że został on zarejestrowany.
Wyrażanie zgody administratora
Po zarejestrowaniu aplikacji zostanie przypisane uprawnienie User.Read . Jednak ponieważ dzierżawa jest dzierżawą zewnętrzną, użytkownicy sami nie mogą wyrazić zgody na to uprawnienie. Administrator musi wyrazić zgodę na to uprawnienie w imieniu wszystkich użytkowników w dzierżawie:
Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (np. ciam-client-app), aby otworzyć stronę Przegląd.
W obszarze Zarządzanie wybierz pozycję Uprawnienia interfejsu API.
- Wybierz pozycję > dzierżawy, a następnie wybierz pozycję Tak.
- Wybierz pozycję Odśwież, a następnie sprawdź, <> w obszarze Stan uprawnienia.
Tworzenie przepływu użytkownika
Wykonaj następujące kroki, aby utworzyć przepływ użytkownika, który klient może użyć do zalogowania się lub zarejestrowania się w aplikacji.
Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej administrator przepływu użytkownika identyfikatora zewnętrznego.
Jeśli masz dostęp do wielu dzierżaw, użyj ikony Ustawienia w górnym menu, aby przełączyć się do dzierżawy zewnętrznej z menu Katalogi i subskrypcje.
Przejdź do sekcji Identity External Identities User flows (Przepływy> użytkownika tożsamości>zewnętrznych tożsamości).
Wybierz pozycję + Nowy przepływ użytkownika.
Na stronie Tworzenie:
Wprowadź nazwę przepływu użytkownika, na przykład SignInSignUpSample.
Na liście Dostawcy tożsamości wybierz pozycję Konta e-mail. Ten dostawca tożsamości umożliwia użytkownikom logowanie się lub tworzenie konta przy użyciu ich adresu e-mail.
W obszarze Konta e-mail możesz wybrać jedną z dwóch opcji. Na potrzeby tego samouczka wybierz pozycję Poczta e-mail z hasłem.
- Wiadomość e-mail z hasłem: umożliwia nowym użytkownikom zarejestrowanie się i zalogowanie się przy użyciu adresu e-mail jako nazwy logowania i hasła jako poświadczeń pierwszego czynnika.
- Wyślij wiadomość e-mail z jednorazowym kodem dostępu: umożliwia nowym użytkownikom zarejestrowanie się i zalogowanie się przy użyciu adresu e-mail jako nazwy logowania i jednorazowego kodu dostępu jako poświadczeń pierwszego czynnika. Jednorazowy kod dostępu poczty e-mail musi być włączony na poziomie dzierżawy (wszyscy dostawcy>tożsamości e-mail jednorazowego kodu dostępu), aby ta opcja została udostępniona na poziomie przepływu użytkownika.
W obszarze Atrybuty użytkownika wybierz atrybuty, które chcesz zebrać od użytkownika podczas rejestracji. Wybierając pozycję Pokaż więcej, możesz wybrać atrybuty i oświadczenia dla kraju/regionu, nazwy wyświetlanej i kodu pocztowego. Wybierz przycisk OK. (Użytkownicy są monitowani tylko o atrybuty podczas rejestracji po raz pierwszy).
Wybierz pozycję Utwórz. Nowy przepływ użytkownika zostanie wyświetlony na liście Przepływy użytkownika. W razie potrzeby odśwież stronę.
Aby włączyć samoobsługowe resetowanie hasła, wykonaj kroki opisane w artykule Włączanie samoobsługowego resetowania hasła.
Kojarzenie aplikacji internetowej z przepływem użytkownika
Aby użytkownicy klienta widzieli środowisko rejestracji lub logowania podczas korzystania z aplikacji, musisz skojarzyć aplikację z przepływem użytkownika. Chociaż wiele aplikacji może być skojarzonych z przepływem użytkownika, pojedyncza aplikacja może być skojarzona tylko z jednym przepływem użytkownika.
W menu paska bocznego wybierz pozycję Tożsamość.
Wybierz pozycję Tożsamości zewnętrzne, a następnie przepływy użytkownika.
Na stronie Przepływy użytkownika wybierz utworzoną wcześniej nazwę przepływu użytkownika, na przykład SignInSignUpSample.
W obszarze Użyj wybierz pozycję Aplikacje.
Wybierz Dodaj aplikację.
Wybierz aplikację z listy, na przykład ciam-client-app , lub użyj pola wyszukiwania, aby znaleźć aplikację, a następnie wybierz ją.
Naciśnij przycisk Wybierz.
Po skojarzeniu aplikacji z przepływem użytkownika możesz przetestować przepływ użytkownika, symulując środowisko rejestracji lub logowania użytkownika z poziomu centrum administracyjnego firmy Microsoft Entra. W tym celu wykonaj kroki opisane w artykule Testowanie przepływu rejestracji i logowania użytkownika.
Klonowanie lub pobieranie przykładowej aplikacji internetowej
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-ciam-dotnet-tutorial.git
Pobierz plik .zip. Wyodrębnij go do ścieżki pliku, w której długość nazwy jest mniejsza niż 260 znaków.
Konfigurowanie aplikacji
Przejdź do folderu głównego pobranego przykładu i katalogu zawierającego przykładową aplikację ASP.NET Core:
cd 1-Authentication\1-sign-in-aspnet-core-mvc
Otwórz plik appsettings.json.
W obszarze Urząd znajdź
Enter_the_Tenant_Subdomain_Here
i zastąp ją poddomeną dzierżawy. Jeśli na przykład domena podstawowa dzierżawy to caseyjensen@onmicrosoft.com, wartość, którą należy wprowadzić, to casyjensen.Enter_the_Application_Id_Here
Znajdź wartość i zastąp ją identyfikatorem aplikacji (clientId) aplikacji zarejestrowanej w centrum administracyjnym firmy Microsoft Entra.Zastąp
Enter_the_Client_Secret_Here
element wartością klucza tajnego klienta skonfigurowaną w obszarze Dodawanie klucza tajnego klienta aplikacji.
Uruchamianie przykładu kodu
W powłoce lub wierszu polecenia wykonaj następujące polecenia:
dotnet run
Otwórz przeglądarkę internetową i przejdź do
https://localhost:7274
adresu .Zaloguj się przy użyciu konta zarejestrowanego w dzierżawie zewnętrznej.
Po zalogowaniu się w nazwie wyświetlanej obok przycisku Wyloguj się , jak pokazano na poniższym zrzucie ekranu.
Aby wylogować się z aplikacji, wybierz przycisk Wyloguj się .
Zobacz też
- Skorzystaj z naszej wieloczęściowej serii samouczków, aby utworzyć tę aplikację internetową ASP.NET od podstaw
- Włączanie resetowania hasła
- Dostosowywanie domyślnego znakowania
- Konfigurowanie logowania przy użyciu usługi Google
- Logowanie użytkowników we własnej aplikacji internetowej ASP.NET Core przy użyciu dzierżawy zewnętrznej