Megosztás a következőn keresztül:


Felhasználók bejelentkezése egy Python Django-mintaalkalmazásban

Ebben az útmutatóban egy Python Django-webalkalmazást ismerhet meg, amelyet Microsoft Entra Külső ID véd. Ez a minta végigvezeti a Python Django-webalkalmazásba való hitelesítést indító ügyfelek bejelentkezési élményén. A minta webalkalmazás a Microsoft Authentication Library for Python (MSAL Python) használatával kezeli a felhasználói hitelesítést.

Előfeltételek

A webalkalmazás regisztrálása

Ahhoz, hogy az alkalmazás bejelentkezhessen a Microsoft Entra szolgáltatással, Microsoft Entra Külső ID tisztában kell lennie a létrehozott alkalmazással. Az alkalmazásregisztráció megbízhatósági kapcsolatot létesít az alkalmazás és a Microsoft Entra között. Amikor regisztrál egy alkalmazást, a külső azonosító létrehoz egy egyedi azonosítót, más néven egy alkalmazás (ügyfél) azonosítót, amely az alkalmazás azonosítására szolgál a hitelesítési kérelmek létrehozásakor.

Az alábbi lépések bemutatják, hogyan regisztrálhatja az alkalmazást a Microsoft Entra Felügyeleti központban:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásfejlesztőként.

  2. Ha több bérlőhöz is rendelkezik hozzáféréssel, a felső menü Gépház ikonjával válthat a külső bérlőre a Címtárak + előfizetések menüből.

  3. Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk.

  4. Válassza az + Új regisztráció lehetőséget.

  5. A Megjelenő alkalmazás regisztrálása lapon;

    1. Adjon meg egy értelmes alkalmazásnevet, amely az alkalmazás felhasználói számára jelenik meg, például ciam-client-app.
    2. A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
  6. Válassza ki a pénztárgépet.

  7. Az alkalmazás Áttekintés panelje a sikeres regisztrációkor jelenik meg. Jegyezze fel az alkalmazás forráskódjában használandó alkalmazás-(ügyfél-) azonosítót .

Ha meg szeretné adni az alkalmazás típusát az alkalmazásregisztrációhoz, kövesse az alábbi lépéseket:

  1. A Kezelés csoportban válassza a Hitelesítés lehetőséget
  2. A Platformkonfigurációk lapon válassza a Platform hozzáadása, majd a Webes lehetőség lehetőséget.
  3. Az átirányítási URI-khoz írja be a következőt http://localhost:5000/redirect: Ez az átirányítási URI az a hely, ahol az engedélyezési kiszolgáló elküldi a hozzáférési jogkivonatot. A használati esetnek megfelelően testre szabhatja.
  4. Válassza a Konfigurálás lehetőséget a módosítások mentéséhez.

Alkalmazásügyfél titkos kód hozzáadása

Hozzon létre egy ügyfélkulcsot a regisztrált alkalmazáshoz. Az alkalmazás az ügyfél titkos kódjával igazolja identitását, amikor jogkivonatokat kér.

  1. A Alkalmazásregisztrációk lapon válassza ki a létrehozott alkalmazást (például a ciam-client-appot) az Áttekintés lap megnyitásához.
  2. A Kezelés területen válassza a Tanúsítványok és titkos kódok lehetőséget.
  3. Válassza az Új titkos ügyfélkód lehetőséget.
  4. A Leírás mezőbe írja be az ügyfél titkos kódjának leírását (például a ciam alkalmazás ügyfélkulcsát).
  5. A Lejáratok csoportban válassza ki azt az időtartamot, amelyre érvényes a titkos kód (a szervezet biztonsági szabályai szerint), majd válassza a Hozzáadás lehetőséget.
  6. Jegyezze fel a titkos kód értékét. Ezt az értéket egy későbbi lépésben fogja használni a konfigurációhoz. A titkos kulcs értéke nem jelenik meg újra, és semmilyen módon nem lesz lekérthető, miután eltávolodik a tanúsítványoktól és titkos kódoktól. Győződjön meg róla, hogy rögzíti.
  1. A Alkalmazásregisztrációk lapon válassza ki a létrehozott alkalmazást (például a ciam-client-appot) az Áttekintés lap megnyitásához.

  2. A Kezelés területen válassza ki az API-engedélyeket. A Konfigurált engedélyek listájában az alkalmazáshoz a User.Read engedély lett hozzárendelve. Mivel azonban a bérlő egy külső bérlő, a felhasználói felhasználók maguk nem járulhatnak hozzá ehhez az engedélyhez. Önnek, mint rendszergazdának hozzá kell adnia ezt az engedélyt a bérlő összes felhasználója nevében:

    1. Válassza a rendszergazdai hozzájárulás megadása a bérlő nevének> megadását<, majd válassza az Igen lehetőséget.
    2. Válassza a Frissítés lehetőséget, majd ellenőrizze, hogy a bérlő nevének> megadása <mindkét hatókör állapotábanjelenik-e meg.

Felhasználói folyamat létrehozása

Kövesse az alábbi lépéseket egy olyan felhasználói folyamat létrehozásához, amellyel az ügyfél bejelentkezhet vagy regisztrálhat egy alkalmazásra.

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább külső azonosítójú felhasználói folyamatként Rendszergazda istratorként.

  2. Ha több bérlőhöz is rendelkezik hozzáféréssel, a felső menü Gépház ikonjával válthat a külső bérlőre a Címtárak + előfizetések menüből.

  3. Tallózással keresse meg az Identitás>külső identitásai>felhasználói folyamatokat.

  4. Válassza az + Új felhasználói folyamat lehetőséget.

  5. A Létrehozás lapon:

    1. Adja meg a felhasználói folyamat nevét, például a SignInSignUpSample nevet.

    2. Az Identitásszolgáltatók listában válassza az E-mail-fiókok lehetőséget. Ez az identitásszolgáltató lehetővé teszi, hogy a felhasználók az e-mail-címükkel jelentkezzenek be vagy jelentkezzenek be.

      Feljegyzés

      A további identitásszolgáltatók csak az összevonás beállítása után lesznek itt felsorolva. Ha például összevonást állít be a Google vagy a Facebook használatával, itt kiválaszthatja ezeket a további identitásszolgáltatókat.

    3. Az E-mail fiókok csoportban a két lehetőség közül választhat. Ebben az oktatóanyagban válassza a Jelszóval ellátott e-mail lehetőséget.

      • Jelszóval ellátott e-mail: Lehetővé teszi az új felhasználók számára, hogy bejelentkezési névként e-mail-címmel és jelszóval jelentkezzenek be az első tényező hitelesítő adataiként.
      • Egyszeri pin-kód küldése: Lehetővé teszi az új felhasználók számára, hogy bejelentkezési névként egy e-mail-címmel regisztráljanak és jelentkezzenek be, és az egyszeri pin-kód elküldése az első tényező hitelesítő adataiként. Ahhoz, hogy ez a beállítás elérhető legyen a felhasználói folyamat szintjén, engedélyezni kell az egyszeri pin-kód megadását a bérlői szinten (minden identitásszolgáltatónak>egyszeri pin-kód küldése).
    4. A Felhasználói attribútumok csoportban válassza ki azokat az attribútumokat, amelyeket a felhasználótól a regisztrációkor szeretne gyűjteni. A Továbbiak megjelenítése lehetőséget választva kiválaszthatja az ország/régió, a megjelenítendő név és az irányítószám attribútumait és jogcímeit. Kattintson az OK gombra. (A rendszer csak akkor kéri az attribútumok megadását, ha első alkalommal regisztrál.)

  6. Válassza a Létrehozás lehetőséget. Az új felhasználói folyamat megjelenik a Felhasználói folyamatok listában. Szükség esetén frissítse a lapot.

Az önkiszolgáló jelszó-visszaállítás engedélyezéséhez kövesse az Önkiszolgáló jelszó-visszaállítás engedélyezése című cikk lépéseit.

A webalkalmazás társítása a felhasználói folyamattal

Bár számos alkalmazás társítható a felhasználói folyamathoz, egyetlen alkalmazás csak egy felhasználói folyamathoz társítható. A felhasználói folyamat lehetővé teszi a felhasználói élmény konfigurálását adott alkalmazásokhoz. Konfigurálhat például egy olyan felhasználói folyamatot, amely megköveteli, hogy a felhasználók jelentkezzenek be vagy regisztráljanak e-mail-címmel.

  1. Az oldalsáv menüjében válassza az Identitás lehetőséget.

  2. Válassza a Külső identitások, majd a Felhasználói folyamatok lehetőséget.

  3. A Felhasználói folyamatok lapon válassza ki a korábban létrehozott felhasználói folyamat nevét, például SignInSignUpSample.

  4. A Használat területen válassza az Alkalmazások lehetőséget.

  5. Válassza az Alkalmazás hozzáadása lehetőséget.

  6. Válassza ki az alkalmazást a listából( például ciam-client-app ), vagy használja a keresőmezőt az alkalmazás megkereséséhez, majd jelölje ki.

  7. Válassza a Kiválasztás lehetőséget

Minta webalkalmazás klónozása vagy letöltése

A mintaalkalmazás beszerzéséhez klónozhatja a GitHubról, vagy letöltheti .zip fájlként.

  • A minta klónozásához nyisson meg egy parancssort, és keresse meg a projektet, és írja be a következő parancsot:

    git clone https://github.com/Azure-Samples/ms-identity-docs-code-python.git
    
  • Töltse le a .zip fájlt. Bontsa ki egy fájl elérési útjára, ahol a név hossza kevesebb, mint 260 karakter.

A projekt függőségeinek telepítése

  1. Nyisson meg egy konzolablakot, és váltson a Flask-minta webalkalmazást tartalmazó könyvtárra:

    cd django-web-app
    
  2. Virtuális környezet beállítása

    py -m venv .venv
    .venv\scripts\activate
    
  3. Futtassa a következő parancsokat az alkalmazásfüggőségek telepítéséhez:

    python3 -m pip install -r requirements.txt
    

A minta webalkalmazás konfigurálása

  1. Nyissa meg a projektfájlokat a Visual Studio Code-on vagy a használt szerkesztőben.

  2. Hozzon létre egy .env fájlt a projekt gyökérmappájában az .env.sample fájl használatával útmutatóként.

  3. Az .env fájlban adja meg a következő környezeti változókat:

    1. CLIENT_ID amely a korábban regisztrált alkalmazás (ügyfél) azonosítója.
    2. CLIENT_SECRET ez az alkalmazás titkos kódjának korábban másolt értéke.
    3. AUTHORITY amely egy jogkivonat-szolgáltatót azonosító URL-cím. Ennek formátuma https://{subdomain}.ciamlogin.com/{subdomain}.onmicrosoft.com. Cserélje le az altartományt a Címtár (bérlő) altartományra. Ha például a bérlő elsődleges tartománya, contoso.onmicrosoft.comhasználja a következőt contoso: Ha nincs bérlői altartománya, olvassa el a bérlő adatait.
    4. REDIRECT_URI amelynek hasonlónak kell lennie a korábban regisztrált átirányítási URI-hoz, meg kell egyeznie a konfigurációval.

Minta webalkalmazás futtatása és tesztelése

Futtassa az alkalmazást a bejelentkezési élmény lejátszás közbeni megtekintéséhez.

Feljegyzés

Ez a minta a Python-identitás külső kódtárát használja. A kódtárat a Microsoft hivatalosan nem tartja karban, de az Ön számára ajánlott. Ez a kódtár megkönnyíti a hitelesítés hozzáadását a webalkalmazáshoz, mivel sok MSAL Python-részletet absztrakcióként használ.

  1. A terminálban futtassa a következő parancsot:

    python manage.py runserver localhost:5000                                             
    

    Használhatja a választott portot. Ennek hasonlónak kell lennie a korábban regisztrált átirányítási URI portjához.

  2. Nyissa meg a böngészőt, majd lépjen a következőre http://localhost:5000: A következő képernyőképhez hasonló oldalt kell látnia:

    Képernyőkép a Django webalkalmazás minta bejelentkezési oldaláról.

  3. Miután az oldal betöltése befejeződött, válassza a Bejelentkezési hivatkozás lehetőséget. A rendszer kéri, hogy jelentkezzen be.

  4. A bejelentkezési lapon írja be az e-mail-címét, válassza a Tovább lehetőséget, írja be a jelszavát, majd válassza a Bejelentkezés lehetőséget. Ha nincs fiókja, válassza a Nincs fiók lehetőséget ? Hozzon létre egy hivatkozást, amely elindítja a regisztrációs folyamatot.

  5. Ha a regisztrációs lehetőséget választja, végighalad a bejelentkezési folyamaton. Töltse ki az e-mail-címét, az egyszeri pin-kódját, az új jelszót és további fiókadatokat a teljes regisztrációs folyamat befejezéséhez.

  6. A bejelentkezés vagy a regisztráció után a rendszer visszairányítja a webalkalmazásba. A következő képernyőképhez hasonló lap jelenik meg:

    Képernyőkép a Flask webalkalmazás-mintáról a sikeres hitelesítés után.

  7. A Kijelentkezés lehetőséget választva kijelentkeztetheti a felhasználót a webalkalmazásból, vagy a Microsoft Graph-végpont hívásához válassza az alsóbb rétegbeli API meghívása lehetőséget.

Hogyan működik?

Amikor a felhasználók kiválasztják a Bejelentkezési hivatkozást, az alkalmazás hitelesítési kérést kezdeményez, és átirányítja a felhasználókat a Microsoft Entra Külső ID. A felhasználó ezután bejelentkezik vagy feliratkozik a megjelenő oldalon. A szükséges hitelesítő adatok megadása és a szükséges hatókörökhöz való hozzájárulás után Microsoft Entra Külső ID visszairányítja a felhasználót a webalkalmazásba egy engedélyezési kóddal. A webalkalmazás ezután ezzel az engedélyezési kóddal szerez be egy jogkivonatot Microsoft Entra Külső ID.

Amikor a felhasználók kiválasztják a Kijelentkezés hivatkozást, az alkalmazás törli a munkamenetet, és átirányítja a felhasználót Microsoft Entra Külső ID bejelentkezési végpontra, hogy értesítse a felhasználót a kijelentkezésről. A rendszer ezután visszairányítja a felhasználót a webalkalmazásba.