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
- Visual Studio Code vagy más kódszerkesztő.
- Python 3+.
- Külső bérlő. Ha még nincs ilyenje, regisztráljon egy ingyenes próbaverzióra.
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:
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásfejlesztőként.
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.
Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk.
Válassza az + Új regisztráció lehetőséget.
A Megjelenő alkalmazás regisztrálása lapon;
- Adjon meg egy értelmes alkalmazásnevet, amely az alkalmazás felhasználói számára jelenik meg, például ciam-client-app.
- A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
Válassza ki a pénztárgépet.
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:
- A Kezelés csoportban válassza a Hitelesítés lehetőséget
- A Platformkonfigurációk lapon válassza a Platform hozzáadása, majd a Webes lehetőség lehetőséget.
- 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. - 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.
- 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.
- A Kezelés területen válassza a Tanúsítványok és titkos kódok lehetőséget.
- Válassza az Új titkos ügyfélkód lehetőséget.
- 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).
- 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.
- 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.
Rendszergazdai jóváhagyás megadása
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.
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:
- 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.
- 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.
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább külső azonosítójú felhasználói folyamatként Rendszergazda istratorként.
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.
Tallózással keresse meg az Identitás>külső identitásai>felhasználói folyamatokat.
Válassza az + Új felhasználói folyamat lehetőséget.
A Létrehozás lapon:
Adja meg a felhasználói folyamat nevét, például a SignInSignUpSample nevet.
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.
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).
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.)
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.
Az oldalsáv menüjében válassza az Identitás lehetőséget.
Válassza a Külső identitások, majd a Felhasználói folyamatok lehetőséget.
A Felhasználói folyamatok lapon válassza ki a korábban létrehozott felhasználói folyamat nevét, például SignInSignUpSample.
A Használat területen válassza az Alkalmazások lehetőséget.
Válassza az Alkalmazás hozzáadása lehetőséget.
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.
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
Nyisson meg egy konzolablakot, és váltson a Flask-minta webalkalmazást tartalmazó könyvtárra:
cd django-web-app
Virtuális környezet beállítása
py -m venv .venv .venv\scripts\activate
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
Nyissa meg a projektfájlokat a Visual Studio Code-on vagy a használt szerkesztőben.
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.
Az .env fájlban adja meg a következő környezeti változókat:
CLIENT_ID
amely a korábban regisztrált alkalmazás (ügyfél) azonosítója.CLIENT_SECRET
ez az alkalmazás titkos kódjának korábban másolt értéke.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.com
használja a következőtcontoso
: Ha nincs bérlői altartománya, olvassa el a bérlő adatait.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.
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.
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: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.
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.
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.
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:
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.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: