PublicClientApplication Sınıf
<xref:ClientApplication.__init__>parametresinin kalması Nonedışında client_credential ile aynıdır.
Note
Aracı nedir ve neden kullanılır?
Aracı, cihazınızda yüklü bir bileşendir.
Aracı, cihazınıza örtük olarak bir kimlik verir. Aracı kullanarak,
cihazınız MFA'ya (Çok faktörlü kimlik doğrulaması) uygun bir faktör haline gelir.
Bu faktör zorunlu hale gelir
kiracının yöneticisi ilgili Koşullu Erişim (CA) ilkesini etkinleştirirse.
Aracının varlığı Microsoft kimlik platformu
belirteçlerin cihazınıza verildiğine daha fazla güvenmek için,
ve bu daha güvenlidir.
Aracının ek bir avantajı,
cihazınızın işletim sistemiyle uzun süreli bir işlem olarak çalışır,
ve kendi önbelleğini korur,
böylece aracı özellikli uygulamalarınız (CLI bile)
önceden oluşturulmuş bir oturumdan otomatik olarak SSO olabilir.
Aracıyı kullanmayı nasıl kabul edebilirsiniz?
Aşağıdaki kabul etme parametrelerinin herhangi bir bileşimini true olarak ayarlayabilirsiniz:
Kabul etme bayrağı
Uygulama çalıştırılacaksa
Uygulama bunu Azure portal'de Masaüstü platformu yeniden yönlendirme URI'si olarak kaydetti
enable_broker_on_windows
Windows 10+
ms-appx-web://Microsoft. ACAR. BrokerPlugin/your_client_id
enable_broker_on_wsl
WSL
ms-appx-web://Microsoft. ACAR. BrokerPlugin/your_client_id
enable_broker_on_mac
Şirket Portalı yüklü Mac
msauth.com.msauth.unsignedapp://auth
enable_broker_on_linux
Intune yüklü Linux
https://login.microsoftonline.com/common/oauth2/nativeclient (ETKINLEŞTIRILMESİ GEREKİDİ)
Aracı bağımlılığını yükleyin,
Örneğin pip install msal[broker]>=1.33,2<.
acquire_token_interactive() ve acquire_token_silent() ile test edin.
MSAL Python aracı desteğinin geri dönüş davranışları
MSAL hataya neden olur veya aracı olmayan akışlara sessizce geri dönüş sağlar.
MSAL enable_broker_ yoksayacak... ve atlama aracısı
aracı tarafından desteklenmediği bilinen bu kimlik doğrulama akışlarında.
Buna ADFS, B2C vb. dahildir.
Diğer "kullanılabilir aracı" senaryoları için lütfen aşağıya bakın.
Uygulama geliştirici aracı kullanmayı kabul ettiğinde MSAL hataları
ancak doğrudan bağımlılık "orta katman" paketi yüklü değildir.
Hata iletisi, uygulama geliştiricisinin doğru bağımlılığı bildirmesine yol gösterir
msal[broker].
Hata uygulama geliştiricileri için eyleme dönüştürülebilir olduğundan burada hata yapıyoruz.
MSAL, aracıyı sessizce "devre dışı bırakır" ve aracı olmayana geri dönüş,
kabul edildiğinde, bağımlılık henüz yüklenemedi.
Bunun işletim sistemi çok eski olan bir cihazda gerçekleşeceğini tahmin ediyoruz
veya temel aracı bileşeni bir şekilde kullanılamıyor.
Bir uygulama geliştiricisi veya son kullanıcı burada çok fazla şey yapamaz.
Sonunda, koşullu erişim ilkesi
kullanıcıyı farklı bir cihaza geçmeye zorlar.
Aracı kabul edildiğinde, yüklendiğinde, başlatıldığında MSAL hataları
ancak sonraki belirteç istekleri başarısız oldu.
Oluşturucu
PublicClientApplication(client_id, client_credential=None, *, enable_broker_on_windows=None, enable_broker_on_mac=None, enable_broker_on_linux=None, enable_broker_on_wsl=None, **kwargs)
Parametreler
| Name | Description |
|---|---|
|
enable_broker_on_windows
Gerekli
|
<xref:boolean>
Bu ayar yalnızca uygulamanız Windows 10+ üzerinde çalışıyorsa geçerlidir. Bu parametre varsayılan olarak None olarak belirlenir ve bu da MSAL'nin aracı kullanmayacağı anlamına gelir. MSAL Python 1.25.0 sürümündeki yenilikler. |
|
enable_broker_on_mac
Gerekli
|
<xref:boolean>
Bu ayar yalnızca uygulamanız Mac'te çalışıyorsa geçerlidir. Bu parametre varsayılan olarak None olarak belirlenir ve bu da MSAL'nin aracı kullanmayacağı anlamına gelir. MSAL Python 1.31.0 sürümündeki yenilikler. |
|
enable_broker_on_linux
Gerekli
|
<xref:boolean>
Bu ayar yalnızca uygulamanız WSL de dahil olmak üzere Linux üzerinde çalışıyorsa geçerlidir. Bu parametre varsayılan olarak None olarak belirlenir ve bu da MSAL'nin aracı kullanmayacağı anlamına gelir. MSAL Python 1.33.0 sürümündeki yenilikler. |
|
enable_broker_on_wsl
Gerekli
|
<xref:boolean>
Bu ayar yalnızca uygulamanız WSL üzerinde çalışıyorsa geçerlidir. Bu parametre varsayılan olarak None olarak belirlenir ve bu da MSAL'nin aracı kullanmayacağı anlamına gelir. MSAL Python 1.33.0 sürümündeki yenilikler. |
|
client_id
Gerekli
|
|
|
client_credential
|
Default value: None
|
Yalnızca Anahtar Sözcük Parametreleri
| Name | Description |
|---|---|
|
enable_broker_on_windows
|
Default value: None
|
|
enable_broker_on_mac
|
Default value: None
|
|
enable_broker_on_linux
|
Default value: None
|
|
enable_broker_on_wsl
|
Default value: None
|
Yöntemler
| acquire_token_by_device_flow |
Özelleştirilebilir yoklama etkisiyle bir cihaz akışı nesnesi tarafından belirteç alın. |
| acquire_token_interactive |
Yerel bir tarayıcı üzerinden etkileşimli olarak belirteç alma. Ön koşul: Azure portal'de "Mobil ve Masaüstü uygulamanızın" Yeniden Yönlendirme URI'sini olarak |
| initiate_device_flow |
içinde acquire_token_by_device_flowkullanılacak bir Cihaz Akışı örneği başlatın. |
acquire_token_by_device_flow
Özelleştirilebilir yoklama etkisiyle bir cihaz akışı nesnesi tarafından belirteç alın.
acquire_token_by_device_flow(flow, claims_challenge=None, **kwargs)
Parametreler
| Name | Description |
|---|---|
|
flow
Gerekli
|
daha önce tarafından initiate_device_flowoluşturulan bir dikte. Varsayılan olarak, bu yöntemin yoklama etkisi geçerli iş parçacığını engeller. Akışın "expires_at" anahtarının değerini 0 olarak değiştirerek yoklama döngüsünü istediğiniz zaman durdurabilirsiniz. |
|
claims_challenge
|
claims_challenge parametresi, kaynak sağlayıcısı tarafından www-authenticate üst bilgisindeki bir claims_challenge yönergesi biçiminde istenen belirli talepleri UserInfo Uç Noktasından ve/veya Kimlik Belirteci ve/veya Erişim Belirteci'nden döndürülmek üzere ister. Bu, bu konumlardan istenen talep listelerini içeren bir JSON nesnesinin dizesidir. Default value: None
|
Döndürülenler
| Tür | Description |
|---|---|
|
Microsoft Entra json yanıtını temsil eden bir dikte:
|
acquire_token_interactive
Yerel bir tarayıcı üzerinden etkileşimli olarak belirteç alma.
Ön koşul: Azure portal'de "Mobil ve Masaüstü uygulamanızın" Yeniden Yönlendirme URI'sini olarak http://localhostyapılandırın.
Oluşturma sırasında PublicClientApplication aracı kullanmayı kabul ederseniz, uygulamanızın bu Yeniden Yönlendirme URI'sine de ihtiyacı vardır: ms-appx-web://Microsoft.AAD.BrokerPlugin/YOUR_CLIENT_ID
acquire_token_interactive(scopes, prompt=None, login_hint=None, domain_hint=None, claims_challenge=None, timeout=None, port=None, extra_scopes_to_consent=None, max_age=None, parent_window_handle=None, on_before_launching_ui=None, auth_scheme=None, **kwargs)
Parametreler
| Name | Description |
|---|---|
|
scopes
Gerekli
|
Büyük/küçük harfe duyarlı dizelerin listesidir. |
|
prompt
|
Varsayılan olarak, dize Default value: None
|
|
login_hint
|
Optional. Kullanıcının tanımlayıcısı. Genellikle kullanıcı asıl adı (UPN). Default value: None
|
|
domain_hint
|
"Tüketiciler" veya "kuruluşlar" ya da kiracı etki alanınız "contoso.com" olabilir. Dahil edilirse, kullanıcının oturum açma sayfasından geçtiği e-posta tabanlı bulma işlemini atlar ve bu da biraz daha kolay bir kullanıcı deneyimine yol açar. Kimlik Doğrulama Kodu Akışı belgesinde ve domain_hint belgesinde bulunan olası değerler hakkında daha fazla bilgi. Default value: None
|
|
claims_challenge
|
claims_challenge parametresi, kaynak sağlayıcısı tarafından www-authenticate üst bilgisindeki bir claims_challenge yönergesi biçiminde istenen belirli talepleri UserInfo Uç Noktasından ve/veya Kimlik Belirteci ve/veya Erişim Belirteci'nden döndürülmek üzere ister. Bu, bu konumlardan istenen talep listelerini içeren bir JSON nesnesinin dizesidir. Default value: None
|
|
timeout
|
Bu yöntem geçerli iş parçacığını engeller.
Bu parametre, zaman aşımı değerini saniye olarak belirtir.
Varsayılan değer Default value: None
|
|
port
|
Gelen kimlik doğrulama yanıtını dinlemek için kullanılacak bağlantı noktası.
Varsayılan olarak, sistem tarafından ayrılmış bir bağlantı noktası kullanacağız.
(redirect_uri geri kalanı sabit olarak Default value: None
|
|
extra_scopes_to_consent
|
"Onay için ek kapsamlar" yalnızca Microsoft Entra'de kullanılabilen bir kavramdır. Aynı etkileşimde onayını almak isteyebileceğiniz ancak bu işlemde için bir belirteci geri almayacağınız diğer kaynakları ifade eder. Default value: None
|
|
max_age
|
OPSİYONEL. En Fazla Kimlik Doğrulama Yaşı. End-User etkin bir şekilde kimliğinin doğrulandığı son zamandan bu yana izin verilebilen süreyi saniye cinsinden belirtir. Geçen süre bu değerden büyükse, Microsoft kimlik platformu son kullanıcının kimliğini etkin bir şekilde yeniden doğrular. MSAL Python ayrıca kimlik belirtecindeki auth_time otomatik olarak doğrular. Sürüm 1.15'te yeni. Default value: None
|
|
parent_window_handle
|
OPSİYONEL.
çoğu Python betikleri konsol uygulamalarıdır. Sürüm 1.20.0'da yeni. Default value: None
|
|
on_before_launching_ui
|
<xref:function>
biçiminde Sürüm 1.20.0'da yeni. Default value: None
|
|
auth_scheme
|
MSAL'nin sizin için bir Sahiplik Kanıtı (POP) belirteci alması için bir nesne sağlayabilirsiniz Sürüm 1.26.0'da yeni. Default value: None
|
Döndürülenler
| Tür | Description |
|---|---|
|
initiate_device_flow
içinde acquire_token_by_device_flowkullanılacak bir Cihaz Akışı örneği başlatın.
initiate_device_flow(scopes=None, *, claims_challenge=None, **kwargs)
Parametreler
| Name | Description |
|---|---|
|
scopes
|
Korumalı API'ye (kaynak) erişmek için istenen kapsamlar. Default value: None
|
Yalnızca Anahtar Sözcük Parametreleri
| Name | Description |
|---|---|
|
claims_challenge
|
Default value: None
|
Döndürülenler
| Tür | Description |
|---|---|
|
Yeni oluşturulan Bir Cihaz Akışı nesnesini temsil eden bir dikte.
|
Öznitelikler
CONSOLE_WINDOW_HANDLE
CONSOLE_WINDOW_HANDLE = <object object>
DEVICE_FLOW_CORRELATION_ID
DEVICE_FLOW_CORRELATION_ID = '_correlation_id'