Udostępnij za pośrednictwem


Logowanie użytkowników w przykładowej aplikacji klasycznej .NET MAUI

Dotyczy:Biały okrąg z szarym symbolem X.Dzierżawcy siły roboczej — dzierżawcy zewnętrzni Zielony okrąg z białym symbolem znacznika wyboru. (dowiedz się więcej)

W tym przewodniku z instrukcjami użyto przykładowego interfejsu użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI), aby pokazać, jak dodać uwierzytelnianie do aplikacji klasycznej przy użyciu dzierżawy zewnętrznej. Przykładowa aplikacja umożliwia użytkownikom logowanie się i wylogowywanie. Przykładowa aplikacja klasyczna .NET MAUI używa biblioteki Microsoft Authentication Library (MSAL) dla platformy .NET do obsługi uwierzytelniania.

W tym artykule wykonasz następujące zadania:

  • Zarejestruj aplikację klasyczną .NET MAUI w dzierżawie zewnętrznej.
  • Utwórz przepływ logowania i wylogowania użytkownika w dzierżawie zewnętrznej.
  • Skojarz aplikację klasyczną .NET MAUI z przepływem użytkownika.
  • Zaktualizuj przykładową aplikację klasyczną .NET MAUI, aby użyć własnych szczegółów dzierżawy zewnętrznej.
  • Uruchom i przetestuj przykładową aplikację klasyczną .NET MAUI.

Wymagania wstępne

Rejestrowanie aplikacji klasycznej .NET MAUI

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:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako deweloper aplikacji.

  2. 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.

  3. Przejdź do aplikacji > Rejestracje aplikacji.

  4. Wybierz pozycję + Nowa rejestracja.

  5. Na wyświetlonej stronie Rejestrowanie aplikacji ;

    1. Wprowadź zrozumiałą nazwę aplikacji wyświetlaną użytkownikom aplikacji, na przykład ciam-client-app.
    2. W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym.
  6. Wybierz pozycję Zarejestruj.

  7. 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.

Aby określić typ aplikacji do rejestracji aplikacji, wykonaj następujące kroki:

  1. W obszarze Zarządzanie wybierz pozycję Uwierzytelnianie.
  2. Na stronie Konfiguracje platformy wybierz pozycję Dodaj platformę, a następnie wybierz opcję Aplikacje mobilne i klasyczne.
  3. W polu Identyfikatory URI przekierowania wprowadź wartość msalEnter_the_Application_Id_Here://auth, zastąp Enter_the_Application_Id_Here ciąg identyfikatorem aplikacji (klienta), który został skopiowany wcześniej, a następnie wybierz pozycję Konfiguruj.
  4. Wybierz Zapisz, aby zapisać zmiany.

Po zarejestrowaniu aplikacji zostanie przypisane uprawnienie User.Read. Jednak ponieważ najemca jest najemcą zewnętrznym, użytkownicy klienta sami nie mogą wyrazić zgody na to uprawnienie. Administrator musi wyrazić zgodę na to uprawnienie w imieniu wszystkich użytkowników w dzierżawie:

  1. Na stronie Rejestracje aplikacji wybierz utworzoną aplikację (np. ciam-client-app), aby otworzyć stronę Przegląd.

  2. W obszarze Zarządzanie wybierz pozycję Uprawnienia interfejsu API.

    1. Wybierz pozycję > dzierżawy, a następnie wybierz pozycję Tak.
    2. Wybierz pozycję Odśwież, a następnie sprawdź, czy udzielono nazwa dzierżawy jest wyświetlana w obszarze Stan dla 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.

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej administrator przepływu użytkownika identyfikatora zewnętrznego.

  2. 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.

  3. Przejdź do sekcji Identity External Identities User flows (Przepływy> użytkownika tożsamości>zewnętrznych tożsamości).

  4. Wybierz pozycję + Nowy przepływ użytkownika.

  5. Na stronie Tworzenie:

    1. Wprowadź nazwę przepływu użytkownika, na przykład SignInSignUpSample.

    2. 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.

      Uwaga

      Dodatkowi dostawcy tożsamości będą wyświetlani w tym miejscu tylko po skonfigurowaniu federacji z nimi. Jeśli na przykład skonfigurujesz federację z usługą Google, Facebook, Apple lub z dostawcą tożsamości OIDC , będziesz mógł wybrać dodatkowych dostawców tożsamości tutaj.

    3. 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.
    4. 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).

  6. 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 klasycznej .NET MAUI 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.

  1. W menu paska bocznego wybierz pozycję Tożsamość.

  2. Wybierz pozycję Tożsamości zewnętrzne, a następnie przepływy użytkownika.

  3. Na stronie Przepływy użytkownika wybierz utworzoną wcześniej nazwę przepływu użytkownika, na przykład SignInSignUpSample.

  4. W obszarze Użyj wybierz pozycję Aplikacje.

  5. Wybierz Dodaj aplikację.

  6. Wybierz aplikację z listy, na przykład ciam-client-app , lub użyj pola wyszukiwania, aby znaleźć aplikację, a następnie wybierz ją.

  7. 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 klasycznej .NET MAUI

Aby uzyskać przykładowy kod aplikacji klasycznej .NET MAUI, pobierz plik .zip lub sklonuj przykładową aplikację klasyczną .NET MAUI z usługi GitHub, uruchamiając następujące polecenie:

git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git

Konfigurowanie przykładowej aplikacji klasycznej .NET MAUI

  1. W programie Visual Studio otwórz plik ms-identity-ciam-dotnet-tutorial-main/1-Authentication/2-sign-in-maui/appsettings.json .
  2. Znajdź symbol zastępczy:
    1. Enter_the_Tenant_Subdomain_Here i zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy to contoso.onmicrosoft.com, użyj polecenia contoso. Jeśli nie masz swojej nazwy dzierżawy, dowiedz się, jak odczytywać szczegóły dzierżawy.
    2. Enter_the_Application_Id_Here zastąp ją identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej aplikacji.

Uruchamianie i testowanie przykładowej aplikacji klasycznej .NET MAUI

Aplikacje .NET MAUI są przeznaczone do uruchamiania na wielu systemach operacyjnych i urządzeniach. Musisz wybrać docelowy element docelowy, za pomocą którego chcesz przetestować i debugować aplikację.

Ustaw element docelowy debugowania na pasku narzędzi programu Visual Studio na urządzenie, za pomocą którego chcesz debugować i testować. W poniższych krokach pokazano ustawienie elementu docelowego debugowania na system Windows:

  1. Wybierz pozycję Debugowanie elementu docelowego z listy rozwijanej.
  2. Wybieranie struktury
  3. Wybierz pozycję net7.0-windows...

Uruchom aplikację, naciskając F5 lub wybierając przycisk odtwarzania w górnej części programu Visual Studio.

  1. Teraz możesz przetestować przykładową aplikację klasyczną .NET MAUI. Po uruchomieniu aplikacji zostanie automatycznie wyświetlone okno aplikacji klasycznej:

    Zrzut ekranu przedstawiający przycisk logowania w aplikacji klasycznej

  2. W wyświetlonym oknie pulpitu wybierz przycisk Zaloguj . Zostanie otwarte okno przeglądarki z monitem o zalogowanie się.

    Zrzut ekranu przedstawiający monit użytkownika o wprowadzenie poświadczeń w aplikacji klasycznej.

    Podczas procesu logowania zostanie wyświetlony monit o przyznanie różnych uprawnień (aby zezwolić aplikacji na dostęp do danych). Po pomyślnym zalogowaniu się i wyrażeniu zgody na ekranie aplikacji zostanie wyświetlona strona główna.

    Zrzut ekranu przedstawiający stronę główną aplikacji klasycznej po zalogowaniu.

Następne kroki