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ı. Ücretsiz hesap oluşturun.
- Microsoft Entra kiracısı. Daha fazla bilgi için bkz . Microsoft Entra kiracısını alma.
- Python 3 +
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:
- Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yönetici istrator olarak oturum açın.
- 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.
- Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları ve Yeni kayıt'ı seçin.
- Uygulamanız için python-webapp gibi bir Ad girin.
- Desteklenen hesap türleri'nin altında Yalnızca bu kuruluş dizinindeki Hesaplar'ı seçin.
- Yeniden yönlendirme URI'leri altında platform için Web'i seçin.
- öğesinin yeniden yönlendirme URI'sini
http://localhost:5000/getAToken
girin. Bu değeri daha sonra değiştirebilirsiniz. - 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:
- Uygulamaya Genel Bakış sayfasında, daha sonra kullanmak üzere Uygulama (istemci) Kimliği değerini not edin.
- 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.
- İstemci gizli dizisi için bir açıklama girin, varsayılan süre sonunu bırakın ve Ekle'yi seçin.
- İ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:
- Yönet'in altında API izinleri>İzin ekle'yi seçin.
- Microsoft API'leri sekmesinin seçili olduğundan emin olun.
- Yaygın kullanılan Microsoft API'leri bölümünde Microsoft Graph'ı seçin.
- Temsilci izinleri bölümünde User.Read öğesinin seçili olduğundan emin olun. Gerekirse arama kutusunu kullanın.
- İ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
İndirdiğiniz uygulamayı bir IDE'de açın ve örnek uygulamanın kök klasörüne gidin.
cd flask-web-app
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
olarakhttps://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.
- değerini
6. Adım: Örnek uygulamayı çalıştırma
Uygulama için sanal ortam oluşturma:
py -m venv .venv .venv\scripts\activate
kullanarak
pip
gereksinimleri yükleyin:pip install -r requirements.txt
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
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.
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.
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.
- Uygulamada başarıyla oturum açtığınızı gösteren aşağıdaki ekran görüntüsü görüntülenir.
Nasıl çalışır?
Aşağıdaki diyagramda örnek uygulamanın nasıl çalıştığı gösterilmektedir:
Uygulama, Microsoft kimlik platformu bir erişim belirteci almak için paketini kullanır
identity
. 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.Ö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: