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

1. Adım: Uygulamanızı kaydetme

İpucu

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

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önetici istrator olarak oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, dizinler + abonelikler menüsünden uygulamayı kaydetmek istediğiniz kiracıya geçmek için üst menüdeki Ayarlar simgesini kullanın.
  3. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları ve Yeni kayıt'ı seçin.
  4. Uygulamanız için python-webapp gibi bir Ad girin.
  5. Desteklenen hesap türleri'nin altında Yalnızca bu kuruluş dizinindeki Hesaplar'ı seçin.
  6. Yeniden yönlendirme URI'leri altında platform için Web'i seçin.
  7. öğesinin yeniden yönlendirme URI'sini http://localhost:5000/getATokengirin. Bu değeri daha sonra değiştirebilirsiniz.
  8. Kaydet'i seçin.

2. Adım: İstemci gizli dizisi ekleme

Örnek uygulama, belirteç istediğinde kimliğini kanıtlamak için bir istemci gizli dizisi kullanır. Python web uygulamanız için bir istemci gizli dizisi oluşturmak için şu adımları izleyin:

  1. Uygulamaya Genel Bakış sayfasında, daha sonra kullanmak üzere Uygulama (istemci) Kimliği değerini not edin.
  2. Yönet'in altında Sertifikalar ve gizli diziler'i seçin ve İstemci gizli dizileri bölümünde Yeni istemci gizli dizisi'ni seçin.
  3. İstemci gizli dizisi için bir açıklama girin, varsayılan süre sonunu bırakın ve Ekle'yi seçin.
  4. İstemci Gizli Anahtarının Değerini güvenli bir konuma kaydedin. Bu değerin kodu yapılandırmanız gerekir ve kodu daha sonra 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 bu yönergelere bakın.

3. Adım: Kapsam ekleme

Bu uygulama kullanıcılarda oturum açtığından, temsilci izinleri eklemeniz gerekir:

  1. Yönet'in altında API izinleri>İzin ekle'yi seçin.
  2. Microsoft API'leri sekmesinin seçili olduğundan emin olun.
  3. Yaygın kullanılan Microsoft API'leri bölümünde Microsoft Graph'ı seçin.
  4. Temsilci izinleri bölümünde User.Read öğesinin seçili olduğundan emin olun. Gerekirse arama kutusunu kullanın.
  5. İzinler ekle'yi 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 dosyasını 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>
    
    • değerini CLIENT_ID, genel bakış sayfasında bulunan kayıtlı uygulamanın Uygulama (istemci) kimliği olarak ayarlayın.
    • değerini, kayıtlı uygulamanın Sertifikalar ve Gizli Diziler bölümünde oluşturduğunuz istemci gizli dizisine CLIENT_SECRET ayarlayın.
    • değerini AUTHORITY olarak https://login.microsoftonline.com/<TENANT_GUID>ayarlayın. Dizin (kiracı) kimliği, uygulama kaydına genel bakış sayfasında bulunur.

    Ortam değişkenlerine app_config.py başvurulur ve kaynak denetiminden uzak tutmak için ayrı bir .env dosyasında tutulur. Sağlanan .gitignore dosyası .env dosyasının iade edilmesini 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. kullanarak pipgereksinimleri 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 platformu bir erişim belirteci almak için paketini kullanıridentity. 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: