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řit účet zdarma.
- Klient Microsoft Entra. Další informace najdete v tématu získání tenanta Microsoft Entra.
- Python 3 +
Krok 1: Registrace aplikace
Pomocí následujícího postupu zaregistrujte aplikaci v Centru pro správu Microsoft Entra:
- Přihlaste se do centra správy Microsoft Entra alespoň jako správce cloudových aplikací.
- Pokud máte přístup k více tenantům, pomocí ikony Nastavení
v horní nabídce přepněte do tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.
- Přejděte na Identity>Applications>App registrations a vyberte Nová registrace.
- Zadejte název pro vaši aplikaci, například python-webapp.
- V části Podporované typy účtůvyberte Pouze účty v tomto organizačním adresáři.
- V části Identifikátory URI přesměrovánívyberte Web pro platformu.
- Zadejte 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 (klient) pro pozdější použití.
- V části Spravovatvyberte Certifikáty & tajných kódů a v části Klientské tajné kódy 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ých kódů klienta v bezpečném umístění. Potřebujete tuto hodnotu ke konfiguraci kódu a později ji už nemůžete získat zpět.
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 tato aplikace přihlašuje uživatele, musíte přidat delegovaná oprávnění:
- V části Spravovatvyberte oprávnění rozhraní API >Přidat oprávnění.
- Ujistěte se, že je vybrána karta Microsoft API.
- V části Běžně používané rozhraní Microsoft API vyberte Microsoft Graph.
- V části Delegovaná oprávnění se ujistěte, že je vybrána 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) pro registrovanou aplikaci, která je uvedena na stránce přehledu. - Nastavte hodnotu
CLIENT_SECRET
na tajný klíč klienta, který jste vytvořili v Certifikáty & tajných kódů pro zaregistrovanou aplikaci. - Nastavte hodnotu
AUTHORITY
nahttps://login.microsoftonline.com/<TENANT_GUID>
. ID adresáře (tenant) je k dispozici na stránce s přehledem registrace aplikace.
Proměnné prostředí jsou odkazovány v app_config.pya jsou uloženy v samostatném souboru .env, aby byly mimo správu zdrojového kódu. Poskytnutý soubor .gitignore zabraňuje zahrnutí souboru .env.
- 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, například https://localhost:5000a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo inkognito 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. Vyberte 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 používá balíček
identity
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: