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

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.
  2. 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á.
  3. Přejděte na Identity>Applications> Registrace aplikací a vyberte Nová registrace.
  4. Zadejte název aplikace, 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 pro přesměrování vyberte web pro platformu.
  7. Zadejte identifikátor 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 (klienta) pro pozdější použití.
  2. V části Spravovat vyberte Certifikáty a tajné kódy a v části Tajné kódy klienta 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é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í:

  1. V části Spravovat vyberte oprávnění>rozhraní API Přidat oprávnění.
  2. Ujistěte se, že je vybraná karta Rozhraní API Microsoftu.
  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 vybraná 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) 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 na https://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.

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, https://localhost:5000například a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo anonymní 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. Zvolte Přijmout.

Diagram znázorňující 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 znázorňující, jak funguje ukázková aplikace vygenerovaná v tomto rychlém startu

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

  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: