macOS'ta Bir Kimlik Doğrulama Aracısı ile MSAL Python Kullanma

Note

macOS kimlik doğrulama aracısı desteği sürüm 1.31.0 ile msal kullanıma sunulmuştur.

macOS üzerinde kimlik doğrulama aracıları kullanmak, kullanıcılarınızın uygulamanızdaki Microsoft Entra ID kimlik doğrulamasını basitleştirmenize ve Microsoft Entra ID yenileme belirteçlerini sızdırma ve kötüye kullanıma karşı koruyan gelecekteki işlevlerden yararlanmanızı sağlar.

Kimlik doğrulama aracıları macOS'ta önceden yüklenmez, ancak Microsoft tarafından geliştirilen Şirket Portalı gibi uygulamalardır. Bu uygulamalar genellikle bir macOS bilgisayarı Microsoft Intune gibi bir uç nokta yönetim çözümü aracılığıyla bir şirketin cihaz filosuna kaydedildiğinde yüklenir. Microsoft Kimlik Platformu ile ayarlanan Apple cihazı hakkında daha fazla bilgi edinmek için Apple cihazları için Microsoft Enterprise SSO eklentisine bakın.

Kullanım

Aracıyı kullanmak için, PyPI'den MSAL çekirdek paketine ek olarak aracıyla ilgili paketleri de yüklemeniz gerekir:

pip install msal[broker]>=1.31,<2

Important

Broker ile ilgili paketler yüklü değilse ve kimlik doğrulama broker’ını kullanmaya çalışırsanız şu hatayı alırsınız: ImportError: You need to install dependency by: pip install "msal[broker]>=1.31,<2".

Genellikle macOS'ta genel istemci Python uygulamalarınız sistem tarayıcısı aracılığıyla belirteçler alır. Bunun yerine, bir macOS sisteminde yüklü olan kimlik doğrulama aracısı bileşenlerini kullanmak için PublicClientApplication oluşturucusunda ek bir bağımsız değişken iletmeniz gerekir - enable_broker_on_mac:

from msal import PublicClientApplication
 
app = PublicClientApplication(
    "CLIENT_ID",
    authority="https://login.microsoftonline.com/common",
    enable_broker_on_mac =True)

Important

Platformlar arası bir uygulama yazıyorsanız, enable_broker_on_windows makalesinde açıklandığı gibi de kullanmanız gerekir.

Oluşturucu değişikliğine ek olarak, uygulamanızın aracıya özgü yeniden yönlendirme URI'lerini desteklemesi gerekir. İmzasız uygulamalar için URI şöyledir:

msauth.com.msauth.unsignedapp://auth 

İmzalı uygulamalar için yeniden yönlendirme URI'sinin şu şekilde olması gerekir:

msauth.BUNDLE_ID://auth

Yeniden yönlendirme URI'leri Entra portalındaki uygulama yapılandırmasında doğru ayarlanmadıysa aşağıdaki gibi bir hata alırsınız:

Error detected... 
tag=508170375
context=AADSTS50011 Description: (pii), Domain: MSAIMSIDOAuthErrorDomain.Error was thrown in location: Broker 
errorCode=-51411 
status=Response_Status.Status_Unexpected 

Yapılandırıldıktan sonra bir belirteç almak için acquire_token_interactive öğesini çağırabilirsiniz.

result = app.acquire_token_interactive(["User.ReadBasic.All"],
                    parent_window_handle=app.CONSOLE_WINDOW_HANDLE)

Note

parent_window_handle parametresi macOS'ta kullanılmasa bile gereklidir. GUI uygulamaları için oturum açma istemi konumu geçici olarak belirlenir ve şu anda belirli bir pencereye bağlanamaz. Gelecekteki bir güncelleştirmede, bu parametre gerçek üst pencereyi belirlemek için kullanılacaktır.

Belirteç önbelleğe alma

Kimlik doğrulama aracısı yenileme ve erişim belirteci önbelleğe alma işlemlerini işler. Özel önbelleğe alma ayarlamanız gerekmez.

Desteklenen macOS sürümleri ve mimarileri

macOS aracısı aşağıdaki yapılandırmaları destekler:

Bileşen Desteklenen sürümler
Mimarlık ARM64 (Apple Silicon) ve x64 (Intel)
macOS sürümü macOS 10.15 (Catalina) ve üzeri

Tip

En yeni güvenlik özellikleri ve aracı özellikleriyle uyumluluğu sağlamak için en son macOS sürümüne güncelleştirmenizi öneririz.