Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Note
O suporte ao corretor de autenticação do macOS é introduzido com a msal versão 1.31.0.
Usar brokers de autenticação no macOS permite-lhe simplificar a forma como os seus utilizadores se autenticam no Microsoft Entra ID na sua aplicação, bem como tirar partido de funcionalidades futuras que protejam os tokens de atualização do Microsoft Entra ID contra exfiltração e utilização indevida.
Os intermediários de autenticação não vêm pré-instalados no macOS, mas são aplicações desenvolvidas pela Microsoft, como Portal da Empresa. Estas aplicações são normalmente instaladas quando um computador macOS está integrado na frota de dispositivos de uma empresa através de uma solução de gestão de endpoints como o Microsoft Intune. Para saber mais sobre a configuração de dispositivos Apple com a Microsoft Identity Platform, consulte o plug-in Microsoft Enterprise SSO para dispositivos Apple.
Utilização
Para usar o broker, terá de instalar os pacotes relacionados com o broker além do MSAL core do PyPI:
pip install msal[broker]>=1.31,<2
Importante
Se os pacotes relacionados com o broker não estiverem instalados e tentar usar o broker de autenticação, receberá um erro: ImportError: You need to install dependency by: pip install "msal[broker]>=1.31,<2".
Normalmente, no macOS, as suas aplicações Python de cliente públicoobteriam tokens através do navegador do sistema. Para usar, em vez disso, brokers de autenticação instalados num sistema macOS, terá de passar um argumento adicional no construtor PublicClientApplication - enable_broker_on_mac:
from msal import PublicClientApplication
app = PublicClientApplication(
"CLIENT_ID",
authority="https://login.microsoftonline.com/common",
enable_broker_on_mac =True)
Importante
Se estiver a escrever uma aplicação multiplataforma, também terá de usar enable_broker_on_windows, conforme descrito no artigo Usando MSAL Python com Gestor de Contas Web.
Para além da alteração do construtor, a sua aplicação tem de suportar URIs de redirecionamento específicas do mediador. Para aplicações não assinadas , o URI é:
msauth.com.msauth.unsignedapp://auth
Para aplicações assinadas, o URI de redirecionamento deve ser:
msauth.BUNDLE_ID://auth
Se os URIs de redirecionamento não estiverem corretamente definidos na configuração da aplicação dentro do portal Entra, receberá um erro deste tipo:
Error detected...
tag=508170375
context=AADSTS50011 Description: (pii), Domain: MSAIMSIDOAuthErrorDomain.Error was thrown in location: Broker
errorCode=-51411
status=Response_Status.Status_Unexpected
Depois de configurado, pode ligar acquire_token_interactive para adquirir um token.
result = app.acquire_token_interactive(["User.ReadBasic.All"],
parent_window_handle=app.CONSOLE_WINDOW_HANDLE)
Note
O parent_window_handle parâmetro é obrigatório mesmo que no macOS não seja utilizado. Para aplicações com interface gráfica, a localização do prompt de login será determinada de forma ad-hoc e atualmente não pode ser vinculada a uma janela específica. Numa atualização futura, este parâmetro será usado para determinar a janela principal real.
Armazenamento em cache de tokens
O intermediário de autenticação gere o armazenamento em cache de tokens de atualização e de acesso. Não precisas de configurar cache personalizado.
Versões e arquiteturas suportadas para macOS
O broker do macOS suporta as seguintes configurações:
| Component | Versões suportadas |
|---|---|
| Arquitetura | ARM64 (Apple Silicon) e x64 (Intel) |
| Versão macOS | macOS 10.15 (Catalina) e posteriores |
Sugestão
Recomendamos a atualização para a versão mais recente do macOS para garantir a compatibilidade com as funcionalidades de segurança mais recentes e as funcionalidades do intermediário.