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


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

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:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.
  2. Ha több bérlőhöz is hozzáfér, a felső menü Gépház ikonjávalválthat arra a bérlőre, amelyben regisztrálni szeretné az alkalmazást a Könyvtárak + előfizetések menüből.
  3. Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk és válassza az Új regisztráció lehetőséget.
  4. Adja meg az alkalmazás nevét, például python-webappot.
  5. 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. Az Átirányítási URI-k területen válassza a platform Web elemét.
  7. 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.
  8. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. A Kezelés területen válassza az API-engedélyeket>: Engedély hozzáadása.
  2. Győződjön meg arról, hogy a Microsoft API-k lap ki van jelölve.
  3. A Gyakran használt Microsoft API-k szakaszban válassza a Microsoft Graph lehetőséget.
  4. 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.
  5. 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

  1. 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
    
  2. 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ékreAUTHORITY: .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.

6. lépés: A mintaalkalmazás futtatása

  1. Hozzon létre egy virtuális környezetet az alkalmazáshoz:

    py -m venv .venv
    .venv\scripts\activate
    
  2. Telepítse a követelményeket a következővel pip:

    pip install -r requirements.txt
    
  3. 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
    
  4. 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.

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

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

A szükséges engedélyek eléréséhez hozzájárulást kérő mintaalkalmazást bemutató ábra.

  1. Megjelenik a következő képernyőkép, amely azt jelzi, hogy sikeresen bejelentkezett az alkalmazásba.

Diagram, amely bemutatja, hogy a mintaalkalmazás hogyan jelentkezett be sikeresen egy felhasználóba.

Hogyan működik?

Az alábbi ábra a mintaalkalmazás működését mutatja be:

Az ebben a rövid útmutatóban létrehozott mintaalkalmazás működését bemutató diagram.

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

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