Rövid útmutató: Felhasználók bejelentkezése és a Microsoft Graph meghívása Python Flask-webalkalmazásból
Ebben a rövid útmutatóban letölthet és futtathat egy Python Flask-webalkalmazás-mintát, amely bemutatja, hogyan hitelesítheti a felhasználókat, és meghívhatja a Microsoft Graph API-t. A Microsoft Entra-szervezet felhasználói bejelentkezhetnek az alkalmazásba.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Egy Microsoft Entra-bérlő. További információ: Microsoft Entra-bérlő lekérése.
- Python 3 +
1. lépés: Az alkalmazás regisztrálása
Tipp.
A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.
Az alábbi lépéseket követve regisztrálhatja az alkalmazást a Microsoft Entra felügyeleti központban:
- Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.
- Ha több bérlőhöz is hozzáfér, a felső menü Gépház ikonjával
válthat arra a bérlőre, amelyben regisztrálni szeretné az alkalmazást a Könyvtárak + előfizetések menüből.
- Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk és válassza az Új regisztráció lehetőséget.
- Adja meg az alkalmazás nevét, például python-webappot.
- A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
- Az Átirányítási URI-k területen válassza a platform Web elemét.
- Adja meg a (z) átirányítási URI-ját
http://localhost:5000/getAToken
. Ezt az értéket később módosíthatja. - Válassza ki a pénztárgépet.
2. lépés: Ügyfélkód hozzáadása
A mintaalkalmazás egy ügyféltitkot használ annak identitásának igazolására, amikor jogkivonatokat kér. Az alábbi lépéseket követve hozzon létre egy ügyfélkulcsot a Python-webalkalmazáshoz:
- Az Alkalmazás áttekintése lapon jegyezze fel az alkalmazás (ügyfél) azonosítójának értékét későbbi használatra.
- A Kezelés területen válassza ki a Tanúsítványok > titkos kulcsokat, majd az Ügyfél titkos kulcsok szakaszban válassza az Új ügyféltitkot.
- Adja meg az ügyfél titkos kódjának leírását, hagyja meg az alapértelmezett lejáratot, és válassza a Hozzáadás lehetőséget.
- Mentse az ügyfélkulcs értékét egy biztonságos helyre. Ehhez az értékhez konfigurálnia kell a kódot, és később nem tudja lekérni.
Amikor hitelesítő adatokat hoz létre egy bizalmas ügyfélalkalmazáshoz, a Microsoft azt javasolja, hogy az alkalmazás éles környezetbe való áthelyezése előtt az ügyfélkulcs helyett használjon tanúsítványt. A tanúsítványok használatáról további információt az alábbi utasításokban talál.
3. lépés: Hatókör hozzáadása
Mivel ez az alkalmazás bejelentkezik a felhasználókba, delegált engedélyeket kell hozzáadnia:
- A Kezelés területen válassza az API-engedélyeket>: Engedély hozzáadása.
- Győződjön meg arról, hogy a Microsoft API-k lap ki van jelölve.
- A Gyakran használt Microsoft API-k szakaszban válassza a Microsoft Graph lehetőséget.
- A Delegált engedélyek szakaszban győződjön meg arról, hogy a User.Read ki van jelölve. Szükség esetén használja a keresőmezőt.
- Jelölje be az Engedélyek hozzáadása lehetőséget.
4. lépés: A mintaalkalmazás letöltése
Töltse le a Python-kódmintát , vagy klónozza az adattárat:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-python/
5. lépés: A mintaalkalmazás konfigurálása
Nyissa meg az IDE-ben letöltött alkalmazást, és keresse meg a mintaalkalmazás gyökérmappáját.
cd flask-web-app
Hozzon létre egy .env fájlt a projekt gyökérmappájában az .env.sample használatával útmutatóként.
# 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>
- Állítsa be a regisztrált alkalmazás alkalmazásazonosítójának (ügyfél-) azonosítójának
CLIENT_ID
értékét, amely az áttekintési oldalon érhető el. - Állítsa be a
CLIENT_SECRET
regisztrált alkalmazás Tanúsítvány & titkos kulcsok elemében létrehozott ügyféltitk értékét. - Állítsa be a következő értékre
AUTHORITY
: .https://login.microsoftonline.com/<TENANT_GUID>
A címtár (bérlő) azonosítója az alkalmazásregisztráció áttekintési oldalán érhető el.
A környezeti változókra a app_config.py hivatkoznak, és egy külön .env fájlban tartják őket, hogy ne legyenek a forráskontrollban. A megadott .gitignore fájl megakadályozza, hogy az .env fájl be legyen jelentkezve.
- Állítsa be a regisztrált alkalmazás alkalmazásazonosítójának (ügyfél-) azonosítójának
6. lépés: A mintaalkalmazás futtatása
Hozzon létre egy virtuális környezetet az alkalmazáshoz:
py -m venv .venv .venv\scripts\activate
Telepítse a követelményeket a következővel
pip
:pip install -r requirements.txt
Futtassa az alkalmazást a parancssorból. Győződjön meg arról, hogy az alkalmazás ugyanazon a porton fut, mint a korábban konfigurált átirányítási URI.
flask run --debug --host=localhost --port=5000
Másolja ki például a terminálban megjelenő HTTPS URL-címet, https://localhost:5000és illessze be egy böngészőbe. Javasoljuk, hogy privát vagy inkognitó böngésző munkamenetet használjon.
Kövesse a lépéseket, és adja meg a microsoftos fiókjával való bejelentkezéshez szükséges adatokat. A rendszer kéri, hogy adjon meg egy e-mail-címet és jelszót a bejelentkezéshez.
Az alkalmazás engedélyt kér arra, hogy fenntartsa a hozzáférést azokhoz az adatokhoz, amelyhez hozzáférést adott, valamint hogy bejelentkezhessen, és elolvassa a profilját, ahogy az látható. Válassza az Elfogadás lehetőséget.
- Megjelenik a következő képernyőkép, amely azt jelzi, hogy sikeresen bejelentkezett az alkalmazásba.
Hogyan működik?
Az alábbi ábra a mintaalkalmazás működését mutatja be:
Az alkalmazás a
identity
csomag használatával szerez be egy hozzáférési jogkivonatot a Microsoft Identitásplatform. Ez a csomag a Pythonhoz készült Microsoft Authentication Libraryre (MSAL) épül, hogy egyszerűbbé tegye a hitelesítést és az engedélyezést a webalkalmazásokban.Az előző lépésben beszerzett hozzáférési jogkivonatot tulajdonosi jogkivonatként használjuk a felhasználó hitelesítésére a Microsoft Graph API meghívásakor.
Következő lépések
További információ egy Python-webalkalmazás létrehozásával, amely bejelentkezik a felhasználókba, és meghív egy védett webes API-t az alábbi többrészes oktatóanyag-sorozatban:
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: