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

Krok 1: Registrace aplikace

Pomocí následujícího postupu zaregistrujte aplikaci v Centru pro správu Microsoft Entra:

  1. Přihlaste se do centra správy Microsoft Entra alespoň jako správce cloudových aplikací.
  2. 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á.
  3. Přejděte na Identity>Applications>App registrations a vyberte Nová registrace.
  4. Zadejte název pro vaši aplikaci, například python-webapp.
  5. V části Podporované typy účtůvyberte Pouze účty v tomto organizačním adresáři.
  6. V části Identifikátory URI přesměrovánívyberte Web pro platformu.
  7. Zadejte URI přesměrování http://localhost:5000/getAToken. Tuto hodnotu můžete později změnit.
  8. 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:

  1. Na stránce Přehled aplikace si poznamenejte hodnotu ID aplikace (klient) pro pozdější použití.
  2. V části Spravovatvyberte Certifikáty & tajných kódů a v části Klientské tajné kódy vyberte Nový tajný klíč klienta.
  3. Zadejte popis tajného klíče klienta, ponechte výchozí vypršení platnosti a vyberte Přidat.
  4. 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í:

  1. V části Spravovatvyberte oprávnění rozhraní API >Přidat oprávnění.
  2. Ujistěte se, že je vybrána karta Microsoft API.
  3. V části Běžně používané rozhraní Microsoft API vyberte Microsoft Graph.
  4. 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.
  5. 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

  1. 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
    
  2. 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 na https://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.

Krok 6: Spuštění ukázkové aplikace

  1. Vytvořte pro aplikaci virtuální prostředí:

    py -m venv .venv
    .venv\scripts\activate
    
  2. Nainstalujte požadavky pomocí pip:

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

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

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

diagram, který znázorňuje ukázkovou aplikaci požadující souhlas s přístupem k požadovaným oprávněním.

  1. Zobrazí se následující snímek obrazovky s oznámením, že jste se k aplikaci úspěšně přihlásili.

Diagram znázorňující, jak se ukázková aplikace úspěšně přihlásila uživatele

Jak to funguje

Následující diagram ukazuje, jak ukázková aplikace funguje:

diagram, který ukazuje, jak funguje ukázková aplikace generovaná tímto rychlým startem.

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

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