Rychlý start: Přihlášení uživatelů a volání Microsoft Graphu z webové aplikace Python Flask
V tomto rychlém startu si stáhnete a spustíte ukázku webové aplikace Python Flask, která ukazuje, jak ověřovat uživatele a volat rozhraní Microsoft Graph API. Uživatelé ve vaší organizaci Microsoft Entra se můžou k aplikaci přihlásit.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Tenant Microsoft Entra. Další informace najdete v tématu získání tenanta Microsoft Entra.
- Python 3 +
Krok 1: Zaregistrujte si aplikaci
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
Pomocí následujícího postupu zaregistrujte aplikaci v Centru pro správu Microsoft Entra:
- Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.
- Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte na tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.
- Přejděte na Identity>Applications> Registrace aplikací a vyberte Nová registrace.
- Zadejte název aplikace, například python-webapp.
- V části Podporované typy účtů vyberte Pouze účty v tomto organizačním adresáři.
- V části Identifikátory URI pro přesměrování vyberte web pro platformu.
- Zadejte identifikátor URI přesměrování .
http://localhost:5000/getAToken
Tuto hodnotu můžete později změnit. - Vyberte Zaregistrovat.
Krok 2: Přidání tajného klíče klienta
Ukázková aplikace používá tajný klíč klienta k prokázání své identity při žádostech o tokeny. Pomocí následujícího postupu vytvořte tajný klíč klienta pro webovou aplikaci v Pythonu:
- Na stránce Přehled aplikace si poznamenejte hodnotu ID aplikace (klienta) pro pozdější použití.
- V části Spravovat vyberte Certifikáty a tajné kódy a v části Tajné kódy klienta vyberte Nový tajný klíč klienta.
- Zadejte popis tajného klíče klienta, ponechte výchozí vypršení platnosti a vyberte Přidat.
- Uložte hodnotu tajného klíče klienta do bezpečného umístění. Tuto hodnotu potřebujete, abyste kód nakonfigurovali a později ho nemůžete načíst.
Při vytváření přihlašovacích údajů pro důvěrnou klientskou aplikaci microsoft doporučuje, abyste před přesunutím aplikace do produkčního prostředí použili certifikát místo tajného klíče klienta. Další informace o používání certifikátu najdete v těchto pokynech.
Krok 3: Přidání oboru
Vzhledem k tomu, že se tato aplikace přihlásí k uživatelům, musíte přidat delegovaná oprávnění:
- V části Spravovat vyberte oprávnění>rozhraní API Přidat oprávnění.
- Ujistěte se, že je vybraná karta Rozhraní API Microsoftu.
- V části Běžně používané rozhraní MICROSOFT API vyberte Microsoft Graph.
- V části Delegovaná oprávnění se ujistěte, že je vybraná možnost User.Read. V případě potřeby použijte vyhledávací pole.
- Vyberte Přidat oprávnění.
Krok 4: Stažení ukázkové aplikace
Stáhněte si ukázku kódu Pythonu nebo naklonujte úložiště:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-python/
Krok 5: Konfigurace ukázkové aplikace
Otevřete aplikaci, kterou jste stáhli v integrovaném vývojovém prostředí , a přejděte do kořenové složky ukázkové aplikace.
cd flask-web-app
Vytvořte soubor .env v kořenové složce projektu pomocí .env.sample jako průvodce.
# 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>
- Nastavte hodnotu
CLIENT_ID
na ID aplikace (klienta) registrované aplikace, která je k dispozici na stránce přehledu. - Nastavte hodnotu
CLIENT_SECRET
na tajný klíč klienta, který jste vytvořili v certifikátech a tajných klíčích pro zaregistrovanou aplikaci. - Nastavte hodnotu
AUTHORITY
nahttps://login.microsoftonline.com/<TENANT_GUID>
hodnotu . ID adresáře (tenanta) je k dispozici na stránce přehledu registrace aplikace.
Proměnné prostředí jsou odkazovány v app_config.py a jsou uloženy v samostatném souboru .env , aby byly mimo správu zdrojového kódu. Zadaný soubor .gitignore zabraňuje vrácení souboru .env se změnami.
- Nastavte hodnotu
Krok 6: Spuštění ukázkové aplikace
Vytvořte pro aplikaci virtuální prostředí:
py -m venv .venv .venv\scripts\activate
Nainstalujte požadavky pomocí
pip
:pip install -r requirements.txt
Spusťte aplikaci z příkazového řádku. Ujistěte se, že vaše aplikace běží na stejném portu jako identifikátor URI přesměrování, který jste nakonfigurovali dříve.
flask run --debug --host=localhost --port=5000
Zkopírujte adresu URL https, která se zobrazí v terminálu, https://localhost:5000například a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo anonymní relaci prohlížeče.
Postupujte podle pokynů a zadejte potřebné podrobnosti pro přihlášení pomocí účtu Microsoft. Budete požádáni, abyste zadali e-mailovou adresu a heslo pro přihlášení.
Aplikace požaduje oprávnění k údržbě přístupu k datům, ke které jste jim udělili přístup, a aby vás přihlásila a přečetla svůj profil, jak je znázorněno. Zvolte Přijmout.
- Zobrazí se následující snímek obrazovky s oznámením, že jste se k aplikaci úspěšně přihlásili.
Jak to funguje
Následující diagram ukazuje, jak ukázková aplikace funguje:
Aplikace tento
identity
balíček používá k získání přístupového tokenu z platformy Microsoft Identity Platform. Tento balíček je založený na knihovně Microsoft Authentication Library (MSAL) pro Python, která zjednodušuje ověřování a autorizaci ve webových aplikacích.Přístupový token, který získáte v předchozím kroku, se použije jako nosný token k ověření uživatele při volání rozhraní Microsoft Graph API.
Další kroky
Další informace získáte vytvořením webové aplikace v Pythonu, která přihlašuje uživatele a volá chráněné webové rozhraní API v následující sérii kurzů s více částmi: