Hızlı Başlangıç: Python Flask web uygulamasından kullanıcıları oturum açma ve Microsoft Graph'ı çağırma

Bu hızlı başlangıçta, kullanıcıların kimliğini doğrulamayı ve Microsoft Graph API'sini çağırmayı gösteren bir Python Flask web uygulaması örneği indirip çalıştıracaksınız. Microsoft Entra kuruluşunuzdaki kullanıcılar uygulamada oturum açabilir.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiziçin hesap oluşturun.
  • Microsoft Entra kiracısı. Daha fazla bilgi için Microsoft Entra kiracısını alma hakkında bölümüne bakın.
  • Python 3 +

1. Adım: Uygulamanızı kaydetme

Uygulamanızı Microsoft Entra yönetim merkezine kaydetmek için şu adımları izleyin:

  1. Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yöneticisiolarak oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, üst menüdeki Ayarlar simgesini kullanarak uygulamayı Dizinler + abonelikler menüsünden kaydetmek istediğiniz kiracıya geçin.
  3. Identity>Applications>Uygulama Kayıtları bölümüne göz atın ve Yeni Kayıtseçin.
  4. Uygulamanız için bir Adı girin; örneğin python-webapp .
  5. Desteklenen hesap türlerialtında yalnızca bu kuruluş dizinindeki hesaplarseçin.
  6. Yönlendirme URI'lerialtında, platform için Web seçin.
  7. Yeniden yönlendirme URI'si olarak http://localhost:5000/getATokengirin. Bu değeri daha sonra değiştirebilirsiniz.
  8. Kaydedici'i seçin.

2. Adım: İstemci gizli anahtarı ekleme

Örnek uygulama, belirteç talebinde bulunduğunda kimliğini kanıtlamak için bir istemci sırrı kullanır. Python web uygulamanız için bir istemci gizli anahtarı oluşturmak üzere şu adımları izleyin:

  1. Uygulama Genel Bakış sayfasında, Uygulama (istemci) kimliği değerini daha sonra kullanmak üzere not edin.
  2. Yönetaltında, Sertifikalar & gizli dizileri seçin ve İstemci gizli dizileri bölümünden yeni istemci gizli seçin.
  3. İstemci gizli anahtarı için bir açıklama girin, varsayılan süre sonunu bırakın ve Ekleseçin.
  4. Değeri olan İstemci Gizli Anahtarını güvenli bir konuma kaydedin. Bu değeri kodu yapılandırmak için kullanmanız gerekiyor ve daha sonra geri alamazsınız.

Microsoft, gizli bir istemci uygulaması için kimlik bilgileri oluştururken, uygulamayı üretim ortamına taşımadan önce istemci gizli dizisi yerine sertifika kullanmanızı önerir. Sertifika kullanma hakkında daha fazla bilgi için bkz. bu yönergeleri.

3. Adım: Kapsam ekleme

Bu uygulama kullanıcıların oturum açmasını sağladığından, yetkilendirilmiş izinler eklemeniz gerekir.

  1. Yönetbağlantısı altında API izinleri>Bir izin ekleyinseçeneğine tıklayın.
  2. Microsoft API'leri sekmesinin seçili olduğundan emin olun.
  3. yaygın olarak kullanılan Microsoft API'leri bölümünde, Microsoft Graphseçin.
  4. Temsilci izinleri bölümünden User.Read seçildiğinden emin olun. Gerekirse arama kutusunu kullanın.
  5. İzin ekleöğesini seçin.

4. Adım: Örnek uygulamayı indirme

Python kod örneğini indirin veya depoyu kopyalayın:

git clone https://github.com/Azure-Samples/ms-identity-docs-code-python/

5. Adım: Örnek uygulamayı yapılandırma

  1. İndirdiğiniz uygulamayı bir IDE'de açın ve örnek uygulamanın kök klasörüne gidin.

    cd flask-web-app
    
  2. Kılavuz olarak .env.sample kullanarak projenin kök klasöründe bir .env dosyası oluşturun.

    # 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>
    
    • CLIENT_ID değerini, genel bakış sayfasında bulunan kayıtlı uygulamanın Uygulama (istemci) kimliği olarak ayarlayın.
    • CLIENT_SECRET değerini, kayıtlı uygulama için Sertifikalar & Sırlar içinde oluşturduğunuz istemci sırrı olarak ayarlayın.
    • AUTHORITY değerini https://login.microsoftonline.com/<TENANT_GUID>olarak ayarlayın. Dizin (kiracı) kimliği, uygulama kaydına genel bakış sayfasında mevcuttur.

    Ortam değişkenlerine app_config.pyiçinde başvurulur ve kaynak denetiminden uzak tutmak için ayrı bir .env dosyasında tutulur. Sağlanan .gitignore dosyası, .env dosyasının depo veya versiyon kontrol sistemi içerisine eklenmesini engeller.

6. Adım: Örnek uygulamayı çalıştırma

  1. Uygulama için sanal ortam oluşturma:

    py -m venv .venv
    .venv\scripts\activate
    
  2. pipkullanarak gereksinimleri yükleyin:

    pip install -r requirements.txt
    
  3. Uygulamayı komut satırından çalıştırın. Uygulamanızın daha önce yapılandırdığınız yeniden yönlendirme URI'sinin aynı bağlantı noktasında çalıştığından emin olun.

    flask run --debug --host=localhost --port=5000
    
  4. Terminalde görüntülenen https URL'sini (örneğin, https://localhost:5000) kopyalayın ve bir tarayıcıya yapıştırın. Özel veya gizli bir tarayıcı oturumu kullanmanızı öneririz.

  5. Adımları izleyin ve Microsoft hesabınızla oturum açmak için gerekli ayrıntıları girin. Oturum açmak için bir e-posta adresi ve parola sağlamanız istenir.

  6. Uygulama, erişim verdiğiniz verilere erişimi korumak ve gösterildiği gibi oturum açıp profilinizi okumak için izin istemektedir. Kabul Et'i seçin.

gerekli izinlere erişmek için onay isteyen örnek uygulamayı gösteren Diyagramı.

  1. Uygulamada başarıyla oturum açtığınızı gösteren aşağıdaki ekran görüntüsü görüntülenir.

örnek uygulamanın bir kullanıcıda nasıl başarıyla oturum açtığını gösteren Diyagramı.

Nasıl çalışır?

Aşağıdaki diyagramda örnek uygulamanın nasıl çalıştığı gösterilmektedir:

Bu hızlı başlangıç tarafından oluşturulan örnek uygulamanın nasıl çalıştığını gösteren Diyagramı.

  1. Uygulama, Microsoft kimlik platformundan erişim belirteci almak için identity paketi kullanır. Bu paket, web uygulamalarında kimlik doğrulama ve yetkilendirmeyi basitleştirmek amacıyla Python için Microsoft Kimlik Doğrulama Kitaplığı'nın (MSAL) üzerine kurulmuştur.

  2. Önceki adımda aldığınız erişim belirteci, Microsoft Graph API'sini çağırırken kullanıcının kimliğini doğrulamak için taşıyıcı belirteç olarak kullanılır.

Sonraki adımlar

Aşağıdaki çok bölümlü öğretici serisinde kullanıcılarda oturum açıp korumalı bir web API'sini çağıran bir Python web uygulaması oluşturarak daha fazla bilgi edinin: