Szybki start: logowanie użytkowników w przykładowej aplikacji internetowej
Artykuł
W tym szybkim starcie użyjesz przykładowej aplikacji internetowej, aby pokazać, jak zalogować użytkowników i wykonywać wywołania do interfejsu API Microsoft Graph w dzierżawie Twojej organizacji. Przykładowa aplikacja używa biblioteki Microsoft Authentication Library do obsługi uwierzytelniania.
Przed rozpoczęciem użyj narzędzia wyboru Wybierz typ najemcy w górnej części tej strony, aby wybrać typ najemcy. Microsoft Entra ID zapewnia dwie konfiguracje dzierżawy, dla pracowników i dla użytkowników zewnętrznych. Konfiguracja działań pracowniczych dotyczy pracowników, aplikacji wewnętrznych i innych zasobów organizacji. Zewnętrzny najemca jest przeznaczony do aplikacji skierowanych do klientów.
Warunki wstępne
Konto platformy Azure z aktywną subskrypcją. Jeśli jeszcze go nie masz, Utwórz konto bezpłatnie.
To konto platformy Azure musi mieć uprawnienia do zarządzania aplikacjami. Każda z następujących ról firmy Microsoft Entra obejmuje wymagane uprawnienia:
Administrator aplikacji
Deweloper aplikacji
Administrator aplikacji w chmurze
Najemca siły roboczej. Możesz użyć katalogu domyślnego lub skonfigurować nowego najemcę .
Zarejestruj nową aplikację w centrum administracyjnym Microsoft Entra przy użyciu następującej konfiguracji. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji.
Nazwa: identity-client-web-app
Obsługiwane typy kont: Konta w tym katalogu organizacyjnym (Jedna dzierżawa)
Zarejestruj nową aplikację w centrum administracyjnym Microsoft Entra przy użyciu następującej konfiguracji. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji.
Nazwa: identity-client-web-app
Obsługiwane typy kont: Konta w tym katalogu organizacyjnym (Jedna dzierżawa)
Zarejestruj nową aplikację w centrum administracyjnym Microsoft Entra przy użyciu następującej konfiguracji. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji.
Nazwa: identity-client-web-app
Obsługiwane typy kont: Konta w tym katalogu organizacyjnym (Jedna dzierżawa)
Utwórz klucz tajny klienta dla zarejestrowanej aplikacji. Aplikacja wykorzystuje tajny klucz klienta, aby potwierdzić swoją tożsamość, gdy żąda tokenów.
Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (taką jak klient tajny aplikacji webowej), aby otworzyć stronę Przegląd.
W obszarze Zarządzajwybierz Certyfikaty & sekrety>Tajne klienta>Nowy sekret klienta.
W polu Opis wprowadź opis tajnego klucza klienta (na przykład tajny klucz klienta aplikacji internetowej).
W obszarze Wygasawybierz okres, przez który sekret jest ważny (zgodnie z zasadami bezpieczeństwa Twojej organizacji), a następnie wybierz opcję Dodaj.
Zarejestruj wartość sekretu. Ta wartość jest używana do konfiguracji w późniejszym kroku. Wartość tajna nie zostanie ponownie wyświetlona i nie będzie można jej odzyskać w żaden sposób po opuszczeniu sekcji Certyfikaty i tajne wartości. Upewnij się, że został on zarejestrowany.
Aby użyć certyfikatu jako poświadczenia dla aplikacji internetowej, należy utworzyć, a następnie przesłać certyfikat. Do celów testowych można użyć certyfikatu z podpisem własnym. Wykonaj następujące kroki, aby utworzyć i przekazać certyfikat z podpisem własnym:
Korzystając z terminalu, przejdź do wybranego katalogu, a następnie utwórz certyfikat z podpisem własnym przy użyciu następującego polecenia.
Wróć do centrum administracyjnego firmy Microsoft Entra i w obszarze Zarządzaj wybierz pozycję Certyfikaty i tajemnice>Załaduj certyfikat.
Wybierz kartę certyfikatów (0), a następnie wybierz Przekaż certyfikat.
Zostanie wyświetlone okienko Przekazywania certyfikatu. Użyj ikony , aby przejść do pliku certyfikatu utworzonego w poprzednim kroku i wybierz pozycję Otwórz.
Wprowadź opis certyfikatu, na przykład certyfikat dlaaspnet-web-app, a następnie wybierz Dodaj.
Zapisz wartość odcisku palca, aby użyć w następnym kroku.
Utwórz klucz tajny klienta dla zarejestrowanej aplikacji. Aplikacja wykorzystuje tajny klucz klienta, aby potwierdzić swoją tożsamość, gdy żąda tokenów.
Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (taką jak klient tajny aplikacji webowej), aby otworzyć stronę Przegląd.
W obszarze Zarządzajwybierz Certyfikaty & sekrety>Tajne klienta>Nowy sekret klienta.
W polu Opis wprowadź opis tajnego klucza klienta (na przykład tajny klucz klienta aplikacji internetowej).
W obszarze Wygasawybierz okres, przez który sekret jest ważny (zgodnie z zasadami bezpieczeństwa Twojej organizacji), a następnie wybierz opcję Dodaj.
Zarejestruj wartość sekretu. Ta wartość jest używana do konfiguracji w późniejszym kroku. Po przejściu z Certyfikaty i tajne wartości wartość tajna nie zostanie ponownie wyświetlona i nie będzie możliwa do odzyskania w żaden sposób. Upewnij się, że został on zarejestrowany.
Podczas tworzenia poświadczeń dla poufnej aplikacji klienckiej:
Firma Microsoft zaleca użycie certyfikatu zamiast klucza tajnego klienta przed przeniesieniem aplikacji do środowiska produkcyjnego. Aby uzyskać więcej informacji na temat używania certyfikatu, zapoznaj się z instrukcjami dotyczącymi poświadczeń certyfikatów uwierzytelniania aplikacji na platformie tożsamości Microsoft, które znajdziesz w sekcji .
Na potrzeby testowania możesz utworzyć certyfikat z podpisem własnym i skonfigurować aplikacje do uwierzytelniania przy użyciu niego. Jednak w produkcjinależy zakupić certyfikat podpisany przez dobrze znany urząd certyfikacji, a następnie użyć usługi Azure Key Vault do zarządzania dostępem do certyfikatu i czasem ważności.
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.
Pobierz przykładowy kod języka Python następnie wyodrębnij go do ścieżki pliku, w której długość nazwy jest mniejsza niż 260 znaków lub sklonuj repozytorium:
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:
W środowisku IDE otwórz folder projektu, ms-identity-docs-code-dotnet\web-app-aspnet, zawierające przykład.
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",
"ClientCredentials": [
{
"SourceType": "StoreWithThumbprint",
"CertificateStorePath": "CurrentUser/My",
"CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
}
],
"CallbackPath": "/signin-oidc"
},
"DownstreamApis": {
"MicrosoftGraph" :{
"BaseUrl": "https://graph.microsoft.com/v1.0/",
"RelativePath": "me",
"Scopes": [
"user.read"
]
}
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
TenantId — identyfikator najemcy, w którym zarejestrowano aplikację. Zastąp tekst w cudzysłowie Directory (tenant) ID, który został wcześniej zapisany 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.
Otwórz aplikację pobraną w środowisku IDE i przejdź do folderu głównego przykładowej aplikacji.
cd flask-web-app
Utwórz plik .env w folderze głównym projektu, używając .env.sample.entra-id jako wzorca.
# The following variables are required for the app to run.
CLIENT_ID=<Enter_your_client_id>
CLIENT_SECRET=<Enter_your_client_secret>
AUTHORITY=<Enter_your_authority_url>
Ustaw wartość CLIENT_ID na identyfikator aplikacji (klienta) dla zarejestrowanej aplikacji, który jest dostępny na stronie głównej.
Ustaw wartość CLIENT_SECRET na tajemnicę klienta utworzoną w Certyfikaty &, Sekrety, dla zarejestrowanej aplikacji.
Ustaw wartość AUTHORITY na wartość https://login.microsoftonline.com/<TENANT_GUID>. Identyfikator katalogu (dzierżawy) jest dostępny na stronie głównej rejestracji aplikacji.
Zmienne środowiskowe są przywołyane w app_config.pyi są przechowywane w osobnym pliku .env, aby zachować je poza kontrolą źródła. Udostępniony plik .gitignore uniemożliwia zaewidencjonowanie pliku .env.
Uruchamianie i testowanie przykładowej aplikacji internetowej
Skonfigurowano przykładową aplikację. Możesz kontynuować uruchamianie i testowanie.
Aby uruchomić serwer, uruchom następujące polecenia z poziomu katalogu projektu:
cd App
npm install
npm start
Przejdź do http://localhost:3000/.
Wybierz pozycję Zaloguj się, aby rozpocząć proces logowania.
Przy pierwszym logowaniu zostanie wyświetlony monit o wyrażenie zgody, aby zezwolić aplikacji na logowanie się i uzyskiwanie dostępu do profilu. Po pomyślnym zalogowaniu nastąpi przekierowanie z powrotem do strony głównej aplikacji.
Jak działa aplikacja
Przykład hostuje serwer internetowy na hoście lokalnym, porcie 3000. Gdy przeglądarka internetowa uzyskuje dostęp do tego adresu, aplikacja renderuje stronę główną. Gdy użytkownik wybierze pozycję Zaloguj się, aplikacja przekierowuje przeglądarkę do ekranu logowania Microsoft Entra za pośrednictwem adresu URL wygenerowanego przez bibliotekę MSAL Node. Gdy użytkownik wyrazi zgodę, przeglądarka przekierowuje użytkownika z powrotem na stronę główną aplikacji wraz z identyfikatorem i tokenem dostępu.
W katalogu projektu użyj terminalu, aby wprowadzić następujące polecenia:
cd ms-identity-docs-code-dotnet/web-app-aspnet
dotnet run
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.
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.
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. Zostanie wyświetlony poniższy zrzut ekranu. Oznacza to, że logujesz się do aplikacji i wyświetlasz szczegóły profilu z interfejsu API programu Microsoft Graph.
Wyloguj się z aplikacji
Znajdź link Wyloguj się w prawym górnym rogu strony i wybierz go.
Zostanie wyświetlony monit o wybranie konta do wylogowania. Wybierz konto użyte do zalogowania się.
Zostanie wyświetlony komunikat z informacją o wylogowaniach. Teraz możesz zamknąć okno przeglądarki.
Utwórz środowisko wirtualne dla aplikacji:
W przypadku Windowsuruchom następujące polecenia:
py -m venv .venv
.venv\scripts\activate
Uruchom następujące polecenia dla systemu macOS/Linux .
python3 -m venv .venv
source .venv/bin/activate
Zainstaluj wymagania przy użyciu pip:
pip install -r requirements.txt
Uruchom aplikację z wiersza polecenia. Upewnij się, że aplikacja działa na tym samym porcie, co skonfigurowany wcześniej identyfikator URI przekierowania.
flask run --debug --host=localhost --port=5000
Skopiuj adres URL https wyświetlany w terminalu, na przykład https://localhost:5000i wklej go w przeglądarce. Zalecamy używanie prywatnej lub incognito sesji przeglądarki.
Wykonaj kroki i wprowadź niezbędne szczegóły, aby zalogować się przy użyciu konta Microsoft. Użytkownik jest proszony o podanie adresu e-mail i hasła w celu zalogowania się.
Aplikacja żąda uprawnień do utrzymania dostępu do danych, do których zezwolisz na dostęp, oraz do zalogowania się, a następnie odczytania profilu, jak pokazano na zrzucie ekranu. Wybierz pozycję Zaakceptuj.
Zostanie wyświetlony poniższy zrzut ekranu, który wskazuje, że pomyślnie zalogowaliśmy się do aplikacji.
Jak działa aplikacja
Na poniższym diagramie pokazano, jak działa przykładowa aplikacja:
Aplikacja używa pakietu identity, aby uzyskać token dostępu z platformy tożsamości Microsoft. Ten pakiet jest oparty na bibliotece Microsoft Authentication Library (MSAL) dla języka Python w celu uproszczenia uwierzytelniania i autoryzacji w aplikacjach internetowych.
Token dostępu uzyskany w poprzednim kroku jest używany jako token uwierzytelniający do uwierzytelniania użytkownika podczas wywoływania interfejsu API Microsoft Graph.
W tym szybkim starcie użyjesz przykładowej aplikacji internetowej, aby pokazać, jak zalogować użytkowników w zewnętrznym kliencie. Przykładowa aplikacja używa biblioteki Microsoft Authentication Library do obsługi uwierzytelniania.
Przed rozpoczęciem użyj narzędzia wyboru Wybierz typ najemcy w górnej części tej strony, aby wybrać typ najemcy. Microsoft Entra ID zapewnia dwie konfiguracje dzierżawy, dla pracowników i dla użytkowników zewnętrznych. Konfiguracja działań pracowniczych dotyczy pracowników, aplikacji wewnętrznych i innych zasobów organizacji. Zewnętrzny najemca jest przeznaczony do aplikacji skierowanych do klientów.
Warunki wstępne
Konto platformy Azure z aktywną subskrypcją. Jeśli jeszcze go nie masz, Utwórz konto bezpłatnie.
To konto platformy Azure musi mieć uprawnienia do zarządzania aplikacjami. Każda z następujących ról firmy Microsoft Entra obejmuje wymagane uprawnienia:
Administrator aplikacji
Deweloper aplikacji
Administrator aplikacji w chmurze
Zewnętrzny dzierżawca. Aby go utworzyć, wybierz jedną z następujących metod:
Użyj rozszerzenia Microsoft Entra External ID , aby skonfigurować dzierżawcę zewnętrznego bezpośrednio w programie Visual Studio Code.
(zalecane)
Zarejestruj nową aplikację w centrum administracyjnym Microsoft Entra, korzystając z następującej konfiguracji, i zanotuj jej identyfikatory ze strony Przegląd aplikacji. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji.
Nazwa: identity-client-web-app
Obsługiwane typy kont: Konta w tym katalogu organizacyjnym (Jedna dzierżawa)
Zarejestruj nową aplikację w centrum administracyjnym Microsoft Entra, korzystając z następującej konfiguracji, i zanotuj jej identyfikatory ze strony Przegląd aplikacji. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji.
Nazwa: identity-client-web-app
Obsługiwane typy kont: Konta w tym katalogu organizacyjnym (Jedna dzierżawa)
Minimalna wersja zestawu SDK platformy .NET 8.0: .
Zarejestruj nową aplikację w centrum administracyjnym Microsoft Entra, korzystając z następującej konfiguracji, i zanotuj jej identyfikatory ze strony Przegląd aplikacji. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji.
Nazwa: identity-client-web-app
Obsługiwane typy kont: Konta w tym katalogu organizacyjnym (Jedna dzierżawa)
Zarejestruj nową aplikację w centrum administracyjnym Microsoft Entra, korzystając z następującej konfiguracji, i zanotuj jej identyfikatory ze strony Przegląd aplikacji. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji.
Nazwa: identity-client-web-app
Obsługiwane typy kont: Konta w tym katalogu organizacyjnym (Jedna dzierżawa)
Utwórz klucz tajny klienta dla zarejestrowanej aplikacji. Aplikacja wykorzystuje tajny klucz klienta, aby potwierdzić swoją tożsamość, gdy żąda tokenów.
Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (taką jak klient tajny aplikacji webowej), aby otworzyć stronę Przegląd.
W obszarze Zarządzajwybierz Certyfikaty & sekrety>Tajne klienta>Nowy sekret klienta.
W polu Opis wprowadź opis tajnego klucza klienta (na przykład tajny klucz klienta aplikacji internetowej).
W obszarze Wygasawybierz okres, przez który sekret jest ważny (zgodnie z zasadami bezpieczeństwa Twojej organizacji), a następnie wybierz opcję Dodaj.
Zarejestruj wartość sekretu. Ta wartość jest używana do konfiguracji w późniejszym kroku. Wartość tajna nie zostanie ponownie wyświetlona i nie można jej odzyskać w żaden sposób po przejściu z Certyfikaty i sekrety. Upewnij się, że został on zarejestrowany.
Podczas tworzenia poświadczeń dla poufnej aplikacji klienckiej:
Firma Microsoft zaleca użycie certyfikatu zamiast klucza tajnego klienta przed przeniesieniem aplikacji do środowiska produkcyjnego. Aby uzyskać więcej informacji na temat używania certyfikatu, zapoznaj się z instrukcjami dotyczącymi poświadczeń certyfikatów uwierzytelniania aplikacji na platformie tożsamości Microsoft, które znajdziesz w sekcji .
Na potrzeby testowania możesz utworzyć certyfikat z podpisem własnym i skonfigurować aplikacje do uwierzytelniania przy użyciu niego. Jednak w produkcjinależy zakupić certyfikat podpisany przez dobrze znany urząd certyfikacji, a następnie użyć usługi Azure Key Vault do zarządzania dostępem do certyfikatu i czasem ważności.
Udzielanie zgody administratora
Po zarejestrowaniu aplikacji zostanie przypisane uprawnienie User.Read. Jednak ponieważ najemca jest najemcą zewnętrznym, użytkownicy-klienci sami nie mogą wyrazić zgody na to uprawnienie. Ty jako administrator dzierżawy musisz wyrazić zgodę na to uprawnienie w imieniu wszystkich użytkowników w dzierżawie.
Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (taką jak ciam-client-app), aby otworzyć jej stronę Przegląd.
W obszarze Zarządzaj, wybierz uprawnienia API.
Wybierz pozycję Udziel zgody administratora dla <nazwy dzierżawy>, a następnie wybierz pozycję Tak.
Wybierz Odśwież, a następnie sprawdź, czy pod Stan dla uprawnienia pojawia się Udzielono dla <nazwy twojej dzierżawy>.
Klonowanie lub pobieranie przykładowej aplikacji internetowej
Enter_the_Application_Id_Here i zastąp go identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej.
Enter_the_Tenant_Subdomain_Here i zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy jest contoso.onmicrosoft.com, użyj contoso. Jeśli nie masz nazwy najemcy, dowiedz się, jak odczytywać szczegóły dzierżawy.
Enter_the_Client_Secret_Here i zastąp ją wartością sekretną aplikacji, którą skopiowałeś wcześniej.
Przejdź do katalogu głównego zawierającego przykładową aplikację platformy ASP.NET Core:
cd 1-Authentication\1-sign-in-aspnet-core-mvc
Otwórz plik appsettings.json.
W Authorityznajdź Enter_the_Tenant_Subdomain_Here i zastąp go poddomeną najemcy. Jeśli na przykład główna domena najemcy to caseyjensen@onmicrosoft.com, wówczas wartość, którą należy wprowadzić, to casyjensen.
Znajdź wartość Enter_the_Application_Id_Here i zastąp ją identyfikatorem aplikacji (clientId) aplikacji zarejestrowanej w centrum administracyjnym firmy Microsoft Entra.
Otwórz pliki projektu w programie Visual Studio Code lub edytorze, którego używasz.
Utwórz plik .env w folderze głównym projektu przy użyciu pliku .env.sample.external-id jako przewodnika.
W pliku .env podaj następujące zmienne środowiskowe:
CLIENT_ID, który jest identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej.
CLIENT_SECRET, która jest wartością tajną aplikacji skopiowaną wcześniej.
AUTHORITY to adres URL, który identyfikuje autorytet tokenu. Powinien on mieć format https://{poddomena}.ciamlogin.com/{poddomena}.onmicrosoft.com. Zastąp poddomenę poddomeną Directory (tenant). Jeśli na przykład domena podstawowa dzierżawy jest contoso.onmicrosoft.com, użyj contoso. Jeśli nie masz poddomeny dzierżawy, dowiedz się, jak sprawdzić szczegóły dzierżawy.
REDIRECT_URI, który powinien przypominać wcześniej zarejestrowany identyfikator URI przekierowania, musi zgadzać się z konfiguracją.
Otwórz pliki projektu w programie Visual Studio Code lub edytorze, którego używasz.
Utwórz plik .env w folderze głównym projektu przy użyciu pliku .env.sample.external-id jako przewodnika.
W pliku .env podaj następujące zmienne środowiskowe:
CLIENT_ID, który jest identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej.
CLIENT_SECRET, która jest wartością tajną aplikacji skopiowaną wcześniej.
AUTHORITY to adres URL, który identyfikuje autorytet tokenu. Format powinien być taki: https://{poddomena}.ciamlogin.com/{poddomena}.onmicrosoft.com. Zastąp poddomenę poddomeną Directory (tenant). Jeśli na przykład domena podstawowa dzierżawy jest contoso.onmicrosoft.com, użyj contoso. Jeśli nie masz poddomeny dzierżawy, dowiedz się, jak sprawdzić szczegóły dzierżawy.
Upewnij się, że URI przekierowania jest prawidłowo skonfigurowany. Identyfikator URI przekierowania, który zarejestrowałeś wcześniej, powinien być zgodny z konfiguracją. Domyślnie ten przykład ustawia ścieżkę przekierowania URI na /getAToken. Ta konfiguracja znajduje się w pliku app_config.py jako REDIRECT_PATH.
Uruchamianie i testowanie przykładowej aplikacji internetowej
Teraz możesz przetestować przykładową aplikację internetową Node.js. Musisz uruchomić serwer Node.js i uzyskać do niego dostęp za pośrednictwem przeglądarki pod adresem http://localhost:3000.
W terminalu uruchom następujące polecenie:
npm start
Otwórz przeglądarkę, a następnie przejdź do http://localhost:3000. Powinna zostać wyświetlona strona podobna do poniższego zrzutu ekranu:
Po zakończeniu ładowania strony wybierz pozycję Zaloguj się, gdy pojawi się monit.
Na stronie logowania wpisz adres e-mail , wybierz pozycję Dalej, wpisz hasło , a następnie wybierz pozycję Zaloguj się. Jeśli nie masz konta, wybierz pozycję Nie masz konta? Utwórz jeden link, który uruchamia przepływ rejestracji.
Jeśli wybierzesz opcję rejestracji, po wypełnieniu adresu e-mail, jednorazowego kodu dostępu, nowego hasła i dodatkowych szczegółów konta, ukończ cały przepływ rejestracji. Zostanie wyświetlona strona podobna do poniższego zrzutu ekranu. Po wybraniu opcji logowania zostanie wyświetlona podobna strona.
Wybierz pozycję Wyloguj się, aby wylogować użytkownika z aplikacji internetowej lub wybrać wyświetl oświadczenia tokenu identyfikatora, aby wyświetlić oświadczenia tokenu identyfikatora zwrócone przez firmę Microsoft Entra.
Jak to działa
Gdy użytkownicy wybierają link Zaloguj się, aplikacja inicjuje żądanie uwierzytelniania i przekierowuje użytkowników do zewnętrznego identyfikatora firmy Microsoft Entra. Na stronie logowania lub rejestracji, która się pojawi, gdy użytkownik pomyślnie się zaloguje lub utworzy konto, Microsoft Entra External ID zwraca token identyfikatora do aplikacji. Aplikacja weryfikuje token identyfikatora, odczytuje oświadczenia i zwraca bezpieczną stronę do użytkowników.
Po wybraniu linku Wyloguj się aplikacja wyczyści sesję, a następnie przekierowuje użytkownika do punktu końcowego wylogowania Microsoft Entra External ID, aby powiadomić go, że użytkownik się wylogował.
Jeśli chcesz utworzyć aplikację podobną do przykładu, który uruchomiłeś, wykonaj kroki opisane w artykule Logowanie użytkowników we własnej aplikacji internetowej Node.js.
W terminalu wykonaj następujące polecenia:
dotnet run
Otwórz przeglądarkę internetową i przejdź do https://localhost:7274.
Zaloguj się, używając konta zarejestrowanego u zewnętrznego najemcy.
Po zalogowaniu nazwa użytkownika jest wyświetlana obok przycisku Wyloguj się, jak pokazano na poniższym zrzucie ekranu.
Aby wylogować się z aplikacji, wybierz przycisk Wyloguj się.
Uruchom aplikację, aby zobaczyć działanie procesu logowania.
W terminalu uruchom następujące polecenie:
python manage.py runserver localhost:5000
Możesz użyć wybranego numeru portu.
Otwórz przeglądarkę, a następnie przejdź do http://localhost:5000. Powinna zostać wyświetlona strona podobna do poniższego zrzutu ekranu:
Po zakończeniu ładowania strony wybierz link Zaloguj się. Zostanie wyświetlony monit o zalogowanie się.
Na stronie logowania wpisz adres e-mail , wybierz pozycję Dalej, wpisz hasło , a następnie wybierz pozycję Zaloguj się. Jeśli nie masz konta, wybierz pozycję Nie masz konta? Utwórz jeden link, który uruchamia przepływ rejestracji.
Jeśli wybierzesz opcję rejestracji, przejdziesz przez przepływ rejestracji. Wypełnij swój adres e-mail, jednorazowy kod dostępu, nowe hasło i więcej szczegółów konta, aby ukończyć cały przepływ rejestracji.
Po zalogowaniu się lub utworzeniu konta nastąpi przekierowanie z powrotem do aplikacji internetowej. Zostanie wyświetlona strona podobna do poniższego zrzutu ekranu:
Wybierz pozycję Wyloguj, aby wylogować użytkownika z aplikacji internetowej lub wybierz pozycję Wywołaj podrzędny interfejs API, aby wykonać wywołanie punktu końcowego programu Microsoft Graph.
Jak to działa
Gdy użytkownicy wybierają link Zaloguj się, aplikacja inicjuje żądanie uwierzytelniania i przekierowuje użytkowników do zewnętrznego identyfikatora firmy Microsoft Entra. Następnie użytkownik loguje się lub rejestruje na wyświetlonej stronie. Po podaniu wymaganych poświadczeń i wyrażaniu zgody na wymagane zakresy identyfikator zewnętrzny firmy Microsoft przekierowuje użytkownika z powrotem do aplikacji internetowej za pomocą kodu autoryzacji. Następnie aplikacja internetowa używa tego kodu autoryzacji do uzyskania tokenu z zewnętrznego identyfikatora firmy Microsoft Entra.
Gdy użytkownicy wybierają link Wyloguj się, aplikacja czyści swoją sesję i przekierowuje użytkownika do punktu końcowego wylogowania zewnętrznego identyfikatora Microsoft Entra, aby powiadomić o wylogowaniu użytkownika. Następnie użytkownik jest przekierowywany z powrotem do aplikacji internetowej.
Uruchom aplikację, aby zobaczyć działanie procesu logowania.
W terminalu uruchom następujące polecenie:
python3 -m flask run --debug --host=localhost --port=3000
Możesz użyć wybranego portu. To powinno być podobne do portu, którego użyłeś przy rejestracji identyfikatora URI przekierowania.
Otwórz przeglądarkę, a następnie przejdź do http://localhost:3000. Powinna zostać wyświetlona strona podobna do poniższego zrzutu ekranu:
Po zakończeniu ładowania strony wybierz link Zaloguj się. Zostanie wyświetlony monit o zalogowanie się.
Na stronie logowania wpisz adres e-mail , wybierz pozycję Dalej, wpisz hasło , a następnie wybierz pozycję Zaloguj się. Jeśli nie masz konta, wybierz pozycję Nie masz konta? Utwórz jeden link, który uruchamia przepływ rejestracji.
Jeśli wybierzesz opcję rejestracji, przejdziesz przez proces rejestracji. Wypełnij swój adres e-mail, jednorazowy kod dostępu, nowe hasło i więcej szczegółów konta, aby ukończyć cały przepływ rejestracji.
Po zalogowaniu się lub utworzeniu konta nastąpi przekierowanie z powrotem do aplikacji internetowej. Zostanie wyświetlona strona podobna do poniższego zrzutu ekranu:
Wybierz pozycję Wyloguj, aby wylogować użytkownika z aplikacji internetowej lub wybierz pozycję Wywołaj podrzędny interfejs API, aby wykonać wywołanie punktu końcowego programu Microsoft Graph.
Jak to działa
Gdy użytkownicy wybierają link Zaloguj się, aplikacja inicjuje żądanie uwierzytelniania i przekierowuje użytkowników do zewnętrznego identyfikatora firmy Microsoft Entra. Następnie użytkownik loguje się lub rejestruje na wyświetlonej stronie. Po podaniu wymaganych poświadczeń i wyrażaniu zgody na wymagane zakresy identyfikator zewnętrzny firmy Microsoft przekierowuje użytkownika z powrotem do aplikacji internetowej za pomocą kodu autoryzacji. Następnie aplikacja internetowa używa tego kodu autoryzacji do uzyskania tokenu z zewnętrznego identyfikatora firmy Microsoft Entra.
Gdy użytkownicy wybierają link Wyloguj się, aplikacja czyści swoją sesję i przekierowuje użytkownika do punktu końcowego wylogowania zewnętrznego identyfikatora Microsoft Entra, aby powiadomić o wylogowaniu użytkownika. Następnie użytkownik jest przekierowywany z powrotem do aplikacji internetowej.