Solução de problemas do plug-in de extensão SSO do Microsoft Enterprise em dispositivos Apple
Este artigo fornece diretrizes de solução de problemas usadas pelos administradores para resolver problemas com a implantação e o uso do plug-in SSO do Enterprise. A extensão de SSO da Apple pode ser implantada no iOS/iPadOS e no macOS.
As organizações podem optar por implantar o SSO em seus dispositivos corporativos para fornecer uma experiência melhor aos usuários finais. Nas plataformas Apple, esse processo envolve a implementação do SSO (logon único) por meio de tokens de atualização principais. O SSO libera os usuários finais do excesso de prompts de autenticação.
A Microsoft implementou um plug-in criado com base na estrutura de SSO da Apple, que fornece autenticação intermediada para aplicativos integrados ao Microsoft Entra ID. Para obter mais informações, confira o artigo Plug-in SSO do Microsoft Enterprise para dispositivos Apple.
Tipos de extensão
A Apple dá suporte a dois tipos de extensões de SSO que fazem parte de sua estrutura: redirecionamento e credencial. O plug-in de SSO do Microsoft Enterprise foi implementado como um tipo de redirecionamento e é mais adequado para intermediar a autenticação para o Microsoft Entra ID. A tabela a seguir compara os dois tipos de extensões.
Tipo de extensão | Mais indicado para | Como ele funciona | Principais diferenças |
---|---|---|---|
Redirecionar | Métodos de autenticação modernos, como OpenID Connect, OAUTH2 e SAML (Microsoft Entra ID) | O sistema operacional intercepta a solicitação de autenticação do aplicativo para as URLs do provedor de identidade definidas no perfil de configuração do MDM de extensão. As extensões de redirecionamento recebem: URLs, cabeçalhos e corpo. | Solicitação de credenciais antes de solicitar dados. Uso de URLs no perfil de configuração do MDM. |
Credencial | Tipos de autenticação de desafio e resposta, como Kerberos (Active Directory Domain Services local) | A solicitação é enviada do aplicativo para o servidor de autenticação (controlador de domínio do AD). As extensões de credencial são configuradas com HOSTS no perfil de configuração do MDM. Se o servidor de autenticação retornar um desafio que corresponda a um host listado no perfil, o sistema operacional encaminhará o desafio para a extensão. A extensão tem a opção de lidar ou rejeitar o desafio. Se tratada, a extensão retornará os cabeçalhos de autorização para concluir a solicitação e o servidor de autenticação retorna a uma resposta ao chamador. | Solicite dados e, em seguida, seja desafiado para autenticação. Use HOSTs no perfil de configuração do MDM. |
A Microsoft tem implementações para autenticação agenciada para os seguintes sistemas operacionais clientes:
Sistema operacional | Agente de autenticação |
---|---|
Windows | Gerenciador de Contas da Web (WAM) |
iOS/iPadOS | Microsoft Authenticator |
Android | Microsoft Authenticator ou Portal da Empresa do Microsoft Intune |
macOS | Portal da Empresa do Microsoft Intune (por meio da extensão de SSO) |
Todos os aplicativos agentes da Microsoft usam um artefato-chave conhecido como Token de atualização principal (PRT), que é um Token Web JSON (JWT) usado para adquirir tokens de acesso para aplicativos e recursos da Web protegidos com o Microsoft Entra ID. Quando implantada por meio de um MDM, a extensão SSO do Enterprise para macOS ou iOS obtém um PRT semelhante aos PRTs usados em dispositivos Windows pelo Gerenciador de Contas da Web (WAM). Para obter mais informações, confira o artigo O que é um token de atualização principal?.
Modelo de solução de problemas
O fluxograma a seguir descreve um fluxo lógico para abordar a solução de problemas da extensão de SSO. O restante deste artigo detalha as etapas descritas neste fluxograma. A solução de problemas pode ser dividida em duas áreas de foco separadas: implantação e fluxo de autenticação de aplicativo.
Etapas para Recusar o SSO da Plataforma no macOS
Para desativar o PSSO que foi habilitado por engano, os administradores devem remover o perfil de extensão do SSO com o PSSO habilitado dos dispositivos e implantar um novo perfil de extensão do SSO com os sinalizadores PSSO desabilitados/removidos.
- Remover o direcionamento para o perfil de SSO com o PSSO habilitado
- Iniciar a sincronização de dispositivos para obter o perfil de SSO com o PSSO habilitado removido do dispositivo
- Direcionar o dispositivo com um novo perfil de SSO com o PSSO desabilitado
- Iniciar a sincronização de dispositivos para instalar o novo perfil no dispositivo
Importante
Observação: atualizar o perfil de SSO existente no dispositivo NÃO ajudará a desabilitar o PSSO após a conclusão do registro de PSSO. Apenas uma remoção completa do perfil de SSO do dispositivo removerá o estado de PSSO do dispositivo.
Contexto:
Os usuários começarão a ver a notificação de registro do PSSO nos dispositivos macOS 13+ em dois cenários:
- Se o dispositivo já tiver a versão do Portal da Empresa do Intune compatível com PSSO e o administrador implantar uma nova política de extensão de SSO com PSSO habilitado
- Se o usuário já estiver direcionado com a política de extensão de SSO com o PSSO habilitado e, posteriormente, uma versão do Portal da Empresa do Intune com suporte para PSSO for instalada no dispositivo.
Cuidado
Os administradores NÃO devem direcionar usuários com a política de extensão do SSO que tenha o PSSO habilitado, a menos que eles tenham sido testados e estejam prontos para serem implantados, pois isso pode interromper os usuários existentes e suas condições de conformidade.
Importante
Observação: para os usuários que concluírem o registro PSSO, o registro WPJ herdado será removido do conjunto de chaves. Se o registro do PSSO tiver sido feito por engano, quando o administrador remover o perfil do SSO com o PSSO e instalar um novo perfil sem o PSSO, o registro WPJ herdado deverá ser feito novamente para que a conformidade do dispositivo funcione.
Solução de problemas de implantação
A maioria dos problemas encontrados pelos clientes decorre de configurações inadequadas do MDM (gerenciamento de dispositivo móvel) do perfil de extensão de SSO ou de uma incapacidade para o dispositivo Apple receber o perfil de configuração do MDM. Esta seção aborda as etapas que você pode seguir para garantir que o perfil de MDM seja implantado em um Mac e que ele tenha a configuração correta.
Requisitos para implantação
- Sistema operacional macOS: versão 10.15 (Catalina) ou superior.
- Sistema operacional iOS: versão 13 ou superior.
- O dispositivo gerenciado por qualquer fornecedor de MDM compatível com o macOS e/ou iOS da Apple (registro de MDM).
- Software do agente de autenticação instalado: Portal da Empresa do Microsoft Intune ou Microsoft Authenticator para iOS.
Verificar a versão do sistema operacional macOS
Use as etapas a seguir para verificar a versão do sistema operacional (SO) no dispositivo macOS. Os perfis de extensão de SSO da Apple são implantados em dispositivos que executam o macOS 10.15 (Catalina) ou superior. Você pode verificar a versão do macOS na interface do usuário ou no terminal.
Interface do usuário
No dispositivo macOS, selecione o ícone da Apple no canto superior esquerdo e selecione Sobre este Mac.
A versão do sistema operacional está listada ao lado de macOS.
Terminal
No dispositivo macOS, clique duas vezes na pasta Aplicativos e clique duas vezes na pasta Utilitários.
Clique duas vezes no aplicativo Terminal.
Quando o terminal abrir, digite sw_vers no prompt, procure um resultado semelhante ao seguinte:
% sw_vers ProductName: macOS ProductVersion: 13.0.1 BuildVersion: 22A400
Verificar a versão do sistema operacional iOS
Use as etapas a seguir para verificar a versão do sistema operacional (SO) no dispositivo iOS. Os perfis de extensão de SSO da Apple são implantados em dispositivos que executam o iOS 13 ou superior. Você pode verificar a versão do iOS no aplicativo Configurações. Abra o aplicativo Configurações:
Navegue até Geral e, em seguida, Sobre. Esta tela lista informações sobre o dispositivo, incluindo o número da versão do iOS:
Implantação do MDM do perfil de configuração de extensão de SSO
Trabalhe com o administrador do MDM (ou a equipe de gerenciamento de dispositivo) para garantir que o perfil de configuração de extensão seja implantado nos dispositivos Apple. O perfil de extensão pode ser implantado de qualquer MDM que dê suporte a dispositivos macOS ou iOS.
Importante
A Apple exige que os dispositivos sejam registrados em um MDM para que a extensão de SSO seja implantada.
A tabela a seguir fornece diretrizes específicas de instalação do MDM, dependendo de qual sistema operacional você está implantando a extensão:
- iOS/iPadOS: implantar o plug-in SSO do Microsoft Enterprise
- macOS: implantar o plug-in SSO do Microsoft Enterprise
Importante
Embora haja suporte para qualquer MDM para implantar a extensão de SSO, muitas organizações implementam políticas de Acesso Condicional baseadas em dispositivos por meio da avaliação das políticas de conformidade do MDM. Se um MDM de terceiros estiver sendo usado, verifique se o fornecedor de MDM dá suporte à conformidade de parceiro do Intune se você quiser usar políticas de acesso condicional baseadas em dispositivo. Quando a extensão de SSO é implantada por meio do Intune ou de um provedor de MDM que dá suporte à conformidade de parceiro do Intune, a extensão pode passar o certificado do dispositivo para o Microsoft Entra ID para que a autenticação do dispositivo possa ser concluída.
Validar a configuração de rede no dispositivo macOS
A estrutura de extensão SSO da Apple e a extensão SSO do Microsoft Enterprise criada nela exigem que determinados domínios sejam isentos de interceptação/inspeção TLS (também conhecida como proxy de interrupção e inspeção). Os domínios a seguir não devem estar sujeitos à inspeção TLS:
- app-site-association.cdn-apple.com
- app-site-association.networking.apple
Verifique se a configuração de SSO está interrompida devido à inspeção TLS
Você pode validar se a inspeção TLS está afetando sua configuração de SSO executando um sysdiagnose do aplicativo Terminal em um dispositivo afetado:
sudo sysdiagnose -f ~/Desktop/
O sysdiagnose será salvo em sua área de trabalho como um arquivo .tar.gz. Extraia os arquivos e abra o arquivo system_logs.logarchive. Ele será aberto no aplicativo console. Pesquise com.apple.appsso e altere o filtro para SUBSYSTEM:
Procure eventos informando que há falhas de domínio associadas, especialmente relacionadas a domínios da Microsoft, como login.microsoftonline.com. Esses eventos podem indicar problemas de inspeção TLS, o que impedirá que a extensão SSO funcione corretamente. Os domínios da Apple não aparecerão no log do sysdiagnose, mesmo que sejam afetados por uma configuração de inspeção TLS sem suporte.
Validar a configuração de inspeção TLS
A Apple fornece uma ferramenta macOS para verificar uma série de problemas de configuração comuns chamada de Mac Evaluation Utility. Essa ferramenta pode ser baixada do AppleSeed for IT. Se você tiver acesso ao AppleSeed para TI, baixe o Mac Evaluation Utility na área Recursos. Depois de instalar o aplicativo, execute uma avaliação. Depois que a avaliação for concluída, navegue até Interceptação HTTPS -->Conteúdo Adicional --> e verifique os dois itens abaixo:
Se essas verificações tiverem um aviso ou erro, talvez haja uma inspeção TLS ocorrendo no dispositivo. Trabalhe com sua equipe de rede para isentar *.cdn-apple.com e *.networking.apple da inspeção TLS.
Saída de logs swcd detalhados
A Apple fornece um utilitário de linha de comando chamado swcutil
que permite monitorar o progresso da validação de domínio associada. Você pode monitorar quaisquer erros de domínio associados usando o seguinte comando:
sudo swcutil watch --verbose
Localize a seguinte entrada nos logs e verifique se ela está marcada como aprovada ou se há algum erro:
```
Entry s = authsrv, a = UBF8T346G9.com.microsoft.CompanyPortalMac, d = login.microsoftonline.com
```
Limpar o cache de inspeção TLS do macOS
Se você tiver problemas com domínios associados e tiver domínios na lista de permitidos em sua ferramenta de inspeção TLS no dispositivo, pode levar algum tempo para que o cache de validação de domínio associado da Apple seja invalidado. Infelizmente, não há etapas determinísticas que acionem novamente a revalidação de domínio associado em todas as máquinas, mas há algumas coisas que podem ser tentadas.
Você pode executar os seguintes comandos para redefinir o cache do dispositivo:
pkill -9 swcd
sudo swcutil reset
pkill -9 AppSSOAgent
Teste novamente a configuração de extensão SSO depois de redefinir o cache.
Às vezes, esse comando é insuficiente e não redefine totalmente o cache. Nesses casos, você pode tentar o seguinte:
- Remova ou mova o aplicativo Portal da Empresa do Intune para a Lixeira e reinicie o dispositivo. Após a conclusão da reinicialização, você pode tentar reinstalar o aplicativo Portal da Empresa.
- Registre o seu dispositivo novamente.
Se nenhum dos métodos acima resolver o problema, pode haver outra coisa em seu ambiente que pode estar bloqueando a validação de domínio associado. Se isso acontecer, entre em contato com o suporte da Apple para obter mais soluções de problemas.
Validar o perfil de configuração de SSO no dispositivo macOS
Supondo que o administrador do MDM tenha seguido as etapas na seção anterior Implantação do MDM do perfil de extensão de SSO, a próxima etapa é verificar se o perfil foi implantado com êxito no dispositivo.
Localizar o perfil de configuração do MDM da extensão de SSO
No dispositivo macOS, selecione as Configurações do Sistema.
Quando as Configurações do Sistema aparecerem, digite Perfis e pressione voltar.
Essa ação deve abrir o painel Perfis.
Texto explicativo da captura de tela Descrição 1 Indica que o dispositivo tem gerenciamento de MDM. 2 Pode haver vários perfis para escolher. Neste exemplo, o perfil de extensão de SSO do Microsoft Enterprise é chamado Extensible Single Sign On Profile-32f37be3-302e-4549-a3e3-854d300e117a. Observação
Dependendo do tipo de MDM que está sendo usado, pode haver vários perfis listados e seu esquema de nomenclatura é arbitrário dependendo da configuração do MDM. Selecione cada uma delas e inspecione se a linha Configurações indica que ela é uma extensão de logon único.
Clique duas vezes no perfil de configuração que corresponde a um valor de Configurações da extensão de logon único.
Texto explicativo da captura de tela Configuração do perfil Descrição 1 Com sinal Autoridade de assinatura do provedor de MDM. 2 Instalado Data ou carimbo de data/hora mostrando quando a extensão foi instalada (ou atualizada). 3 Configurações: extensão de logon único Indica que esse perfil de configuração é um tipo de extensão de SSO da Apple. 4 Extensão Identificador que mapeia para a ID do pacote do aplicativo que está executando o plug-in de extensão do Microsoft Enterprise. O identificador deve sempre ser definido como com.microsoft.CompanyPortalMac.ssoextension
e o identificador da equipe deverá aparecer como (UBF8T346G9) se o perfil estiver instalado em um dispositivo macOS. Se algum valor for diferente, o MDM não invocará a extensão corretamente.5 Tipo A extensão de SSO do Microsoft Enterprise deve sempre ser definida como um tipo de extensão de redirecionamento. Para obter mais informações, confira Tipos de extensão: redirecionamento vs credencial. 6 URLs As URLs de logon pertencentes ao Provedor de Identidade (Microsoft Entra ID). Confira a lista de URLs com suporte. Todas as extensões de redirecionamento de SSO da Apple devem ter os seguintes componentes do payload MDM no perfil de configuração:
Componente do payload MDM Descrição Identificador da extensão Inclui o identificador do pacote e o identificador da equipe do aplicativo no dispositivo macOS executando a extensão. Observação: a extensão de SSO do Microsoft Enterprise sempre deve ser definida como: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9) para informar ao sistema operacional macOS que o código do cliente de extensão faz parte do aplicativo Portal da Empresa do Intune. Tipo Deve ser definido como redirecionamento para indicar um tipo de extensão de redirecionamento. URLs URLs de ponto de extremidade do provedor de identidade (Microsoft Entra ID), em que o sistema operacional roteia solicitações de autenticação para a extensão. Configuração específica da extensão opcional Valores de dicionário que podem atuar como parâmetros de configuração. No contexto da extensão de SSO do Microsoft Enterprise, esses parâmetros de configuração são chamados de sinalizadores de recursos. Confira as definições de sinalizador de recurso. Observação
As definições de MDM para o perfil de extensão de SSO da Apple podem ser referenciadas no artigo Configurações do payload MDM de logon único extensível para dispositivos Apple. A Microsoft implementou nossa extensão com base nesse esquema. Confira Plug-in SSO do Microsoft Enterprise para dispositivos Apple
Para verificar se o perfil correto para a extensão de SSO do Microsoft Enterprise está instalado, o campo Extensão deve corresponder: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9).
Observe o campo Instalado no perfil de configuração, pois ele pode ser um indicador útil para solução de problemas, quando forem feitas alterações em sua configuração.
Se o perfil de configuração correto tiver sido verificado, prossiga para a seção Solução de problemas do fluxo de autenticação do aplicativo.
O perfil de configuração do MDM está ausente
Se o perfil da configuração de extensão de SSO não aparecer na lista Perfis após a seguinte seção anterior, pode ser que a configuração de MDM tenha o direcionamento de usuário/dispositivo habilitado, o que está efetivamente filtrando o usuário ou o dispositivo de receber o perfil de configuração. Verifique com o administrador do MDM e colete os logs do Console encontrados na próxima seção.
Coletar logs de console específicos do MDM
No dispositivo macOS, clique duas vezes na pasta Aplicativos e clique duas vezes na pasta Utilitários.
Clique duas vezes no aplicativo Console.
Clique no botão Iniciar para habilitar o log de rastreamento do console.
Faça com que o administrador do MDM tente reimplantar o perfil de configuração para esse dispositivo/usuário do macOS e force um ciclo de sincronização.
Digite subsystem:com.apple.ManagedClient na barra de pesquisa e pressione Return.
Onde o cursor está piscando na barra de pesquisa, digite message:Extensible.
Agora você deve ver os logs do console do MDM filtrados em atividades do perfil de configuração do SSO extensível. A captura de tela a seguir mostra uma entrada de log Perfil de configuração instalado, mostrando que o perfil de configuração foi instalado.
Solução de problemas de fluxo de autenticação de aplicativo
As diretrizes nesta seção pressupõem que o dispositivo macOS tenha um perfil de configuração implantado corretamente. Confira Validar perfil de configuração de SSO no dispositivo macOS para obter as etapas.
Uma vez implantada, a extensão de SSO do Microsoft Enterprise para dispositivos Apple dá suporte a dois tipos de fluxos de autenticação de aplicativo para cada tipo de aplicativo. Ao solucionar problemas, é importante entender o tipo de aplicativo que está sendo usado.
Tipos de aplicativos
Tipo de aplicativo | Autenticação interativa | Autenticação silenciosa | Descrição | Exemplos |
---|---|---|---|---|
Aplicativo MSAL nativo | X | X | A MSAL (Biblioteca de Autenticação da Microsoft) é uma estrutura de desenvolvimento de aplicativos adaptada para a criação de aplicativos com a plataforma de identidade da Microsoft (Microsoft Entra ID). Os aplicativos criados na MSAL versão 1.1 ou superior podem ser integrados à extensão de SSO do Microsoft Enterprise. Se o aplicativo souber que a extensão de SSO (agente) utiliza a extensão sem nenhuma configuração adicional para obter mais informações, confira nossa documentação de exemplo de desenvolvimento da MSAL. |
Microsoft To-Do |
SSO de navegador/nativo não MSAL | X | Aplicativos que utilizam tecnologias de rede da Apple ou modos de exibição da Web podem ser configurados para obter uma credencial compartilhada da extensão SSO Os sinalizadores de recursos devem ser configurados para garantir que a ID do pacote para cada aplicativo tenha permissão para obter o PRT (credencial compartilhada). |
Microsoft Word Safari Microsoft Edge Visual Studio |
Importante
Nem todos os aplicativos nativos da Microsoft usam a estrutura MSAL. No momento da publicação deste artigo, a maioria dos aplicativos macOS do Microsoft Office ainda dependem da estrutura de biblioteca ADAL mais antiga e, portanto, dependem do fluxo de SSO do navegador.
Como localizar a ID do pacote para um aplicativo no macOS
No dispositivo macOS, clique duas vezes na pasta Aplicativos e clique duas vezes na pasta Utilitários.
Clique duas vezes no aplicativo Terminal.
Quando o terminal abrir, digite
osascript -e 'id of app "<appname>"'
no prompt. Veja alguns exemplos a seguir:% osascript -e 'id of app "Safari"' com.apple.Safari % osascript -e 'id of app "OneDrive"' com.microsoft.OneDrive % osascript -e 'id of app "Microsoft Edge"' com.microsoft.edgemac
Agora que as IDs do pacote foram coletadas, siga nossas diretrizes para configurar os sinalizadores de recursos para garantir que aplicativos SSO do navegador/nativo não MSAL possam utilizar a extensão de SSO. Observação: todas as IDs de pacote diferenciam maiúsculas de minúsculas para a configuração do sinalizador de recurso.
Cuidado
Aplicativos que não usam tecnologias de rede da Apple (como WKWebview e NSURLSession) não poderão usar a credencial compartilhada (PRT) da extensão de SSO. Tanto o Google Chrome quanto o Mozilla Firefox se enquadram nessa categoria. Mesmo que eles estejam configurados no perfil de configuração do MDM, o resultado será um prompt de autenticação regular no navegador.
Inicialização
Por padrão, somente os aplicativos MSAL invocam a extensão de SSO e, por sua vez, a extensão adquire uma credencial compartilhada (PRT) do Microsoft Entra ID. No entanto, o aplicativo navegador Safari ou outros aplicativos não MSAL podem ser configurados para adquirir o PRT. Confira Permitir que os usuários entrem a partir de aplicativos que não utilizam a MSAL e o navegador Safari. Depois que a extensão de SSO adquirir um PRT, ela armazenará a credencial na Keychain de logon do usuário. Em seguida, verifique se o PRT está presente nas chaves do usuário:
Verificando o acesso às chaves para PRT
No dispositivo macOS, clique duas vezes na pasta Aplicativos e clique duas vezes na pasta Utilitários.
Clique duas vezes no aplicativo Acesso ao Keychain.
Em Chaves Padrão, selecione Itens Locais (ou iCloud).
- Verifique se Todos os Itens está selecionado.
- Na barra de pesquisa, no lado direito, digite
primaryrefresh
(para filtrar).
Texto explicativo da captura de tela Componente de credencial de chaves Descrição 1 Todos os itens Mostra todos os tipos de credenciais no Acesso às Chaves 2 Barra de Pesquisa das Chaves Permite a filtragem por credencial. Para filtrar o PRT do Microsoft Entra, digite primaryrefresh
3 Tipo Refere-se ao tipo de credencial. A credencial de PRT do Microsoft Entra é um tipo de credencial de Senha do Aplicativo 4 Conta Exibe a conta de usuário do Microsoft Entra, que possui o MAP no formato: UserObjectId.TenantId-login.windows.net
5 Onde Exibe o nome completo da credencial. A credencial de PRT do Microsoft Entra começa com o seguinte formato: primaryrefreshtoken-29d9ed98-a469-4536-ade2-f981bc1d605
O 29d9ed98-a469-4536-ade2-f981bc1d605 é a ID do aplicativo para o serviço do Agente de Autenticação da Microsoft, responsável por lidar com solicitações de aquisição de PRT6 Modificado Mostra quando a credencial foi atualizada pela última vez. Para a credencial de PRT do Microsoft Entra, sempre que a credencial é inicializada ou atualizada por um evento de logon interativo, ela atualiza o carimbo de data/hora 7 Keychain Indica em qual conjunto de chaves a credencial selecionada reside. A credencial de PRT do Microsoft Entra reside nos Itens Locais ou na Keychain do iCloud. Qquando o iCloud estiver habilitado no dispositivo macOS, a Keychain dos Itens Locais se tornará a keychain do iCloud Se o PRT não for encontrado no Acesso às Chaves, faça o seguinte com base no tipo de aplicativo:
- MSAL nativa: verifique se o desenvolvedor do aplicativo, se o aplicativo foi criado com a MSAL versão 1.1 ou superior, permitiu que o aplicativo saiba do agente. Além disso, verifique Etapas da solução de problemas de implantação para descartar os problemas de implantação.
- Não MSAL (Safari): verifique se o sinalizador de recurso
browser_sso_interaction_enabled
está definido como 1 e não como 0 no perfil de configuração do MDM
Fluxo de autenticação após inicializar um PRT
Agora que o PRT (credencial compartilhada) foi verificado, antes de fazer qualquer solução de problemas mais profunda, é útil entender as etapas de alto nível para cada tipo de aplicativo e como ele interage com o plug-in de extensão de SSO do Microsoft Enterprise (aplicativo do agente). As animações e descrições a seguir devem ajudar os administradores do macOS a entender o cenário antes de examinar os dados de log.
Aplicativo MSAL nativo
Cenário: um aplicativo desenvolvido para usar a MSAL (exemplo: cliente Microsoft To Do) que está em execução em um dispositivo Apple precisa conectar o usuário com sua conta do Microsoft Entra para acessar um serviço protegido do Microsoft Entra (exemplo: Serviço Microsoft To Do).
- Os aplicativos desenvolvidos pela MSAL invocam a extensão de SSO diretamente e enviam o PRT para o ponto de extremidade de token do Microsoft Entra juntamente com a solicitação do aplicativo de um token para um recurso protegido do Microsoft Entra
- O Microsoft Entra ID valida a credencial de PRT e retorna um token específico do aplicativo de volta para o agente de extensão de SSO
- Em seguida, o agente da extensão de SSO passa o token para o aplicativo cliente MSAL, que o envia para o recurso protegido do Microsoft Entra
- O usuário agora está conectado ao aplicativo e o processo de autenticação está concluído
SSO de navegador/não MSAL
Cenário: um usuário em um dispositivo Apple abre o navegador Safari (ou qualquer aplicativo nativo que não seja MSAL que dê suporte à Pilha de Rede da Apple) para entrar em um recurso protegido do Microsoft Entra (Exemplo: https://office.com
).
- Usando um aplicativo não MSAL (Exemplo: Safari), o usuário tenta entrar em um aplicativo integrado do Microsoft Entra (exemplo: office.com) e é redirecionado para obter um token do Microsoft Entra ID
- Desde que o aplicativo não MSAL esteja listado na configuração de conteúdo do MDM, a pilha de rede da Apple intercepta a solicitação de autenticação e redireciona a solicitação para o agente de extensão de SSO
- Depois que a extensão de SSO recebe a solicitação interceptada, o PRT é enviado para o ponto de extremidade do token do Microsoft Entra
- O Microsoft Entra ID valida o PRT e retorna um token específico do aplicativo de volta para o agente de extensão de SSO
- O token específico do aplicativo é fornecido ao aplicativo cliente que não seja MSAL e o aplicativo cliente envia o token para acessar o serviço protegido do Microsoft Entra
- O usuário concluiu a entrada e o processo de autenticação foi concluído
Obtendo os logs de extensão de SSO
Uma das ferramentas mais úteis para solucionar vários problemas com a extensão de SSO são os logs do cliente do dispositivo Apple.
Salvar logs de extensão de SSO do aplicativo Portal da Empresa
No dispositivo macOS, clique duas vezes na pasta Aplicativos.
Clique duas vezes no aplicativo Portal da Empresa.
Quando o Portal da Empresa for carregado, navegue até a barra de menus superior: Ajuda->Salvar relatório de diagnóstico. Não é necessário fazer logon no aplicativo.
Salve o arquivo de log do Portal da Empresa onde quiser (por exemplo: Desktop).
Abra o arquivo CompanyPortal.zip e abra o arquivo SSOExtension.log com qualquer editor de texto.
Dica
Uma maneira útil de exibir os logs é usar o Visual Studio Code e instalar a extensão Log Viewer.
Acompanhando os logs de extensão de SSO no macOS com o terminal
Durante a solução de problemas, pode ser útil reproduzir um problema ao seguir os logs de SSOExtension em tempo real:
No dispositivo macOS, clique duas vezes na pasta Aplicativos e clique duas vezes na pasta Utilitários.
Clique duas vezes no aplicativo Terminal.
Quando o terminal abrir, digite:
tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
Observação
O /* à direita indica que vários logs serão seguidos caso existam
% tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/* ==> /Users/<username>/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/SSOExtension 2022-12-25--13-11-52-855.log <== 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Handling SSO request, requested operation: 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Ignoring this SSO request... 2022-12-29 14:49:59:282 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Finished SSO request. 2022-12-29 14:49:59:599 | I | Beginning authorization request 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_interaction_enabled, value in config 1, value type __NSCFNumber 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Feature flag browser_sso_interaction_enabled is enabled 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_disable_mfa, value in config (null), value type (null) 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag disable_browser_sso_intercept_all, value in config (null), value type (null) 2022-12-29 14:49:59:600 | I | Request does not need UI 2022-12-29 14:49:59:600 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag admin_debug_mode_enabled, value in config (null), value type (null)
À medida que você reproduz o problema, mantenha a janela do terminal aberta para observar a saída dos logs de SSOExtension finalizados.
Exportando os logs de extensão de SSO no iOS
Não é possível exibir os logs da Extensão de SSO do iOS em tempo real, como no macOS. Os logs da extensão de SSO do iOS podem ser exportados do aplicativo Microsoft Authenticator e, em seguida, analisados a partir de outro dispositivo:
Abra o aplicativo Microsoft Authenticator:
Pressione o botão menu no canto superior esquerdo:
Escolha a opção "Enviar comentários":
Escolha a opção "Estou com problemas":
Pressione a opção Exibir dados de diagnóstico:
Dica
Se você estiver trabalhando com Suporte da Microsoft, neste estágio, poderá pressionar o botão Enviar para enviar os logs para o suporte. Isso fornecerá uma ID do Incidente, que você pode fornecer ao seu contato no Suporte da Microsoft.
Pressione o botão "Copiar tudo" para copiar os logs para a área de transferência do dispositivo iOS. Em seguida, você pode salvar os arquivos de log em outro lugar para analisá-los ou enviá-los por email ou outros métodos de compartilhamento de arquivos:
Noções básicas sobre os logs de extensão de SSO
Analisar os logs de extensão de SSO é uma excelente maneira de solucionar problemas de fluxo de autenticação de aplicativos que enviam solicitações de autenticação para o Microsoft Entra ID. Sempre que o agente de extensão de SSO é invocado, uma série de atividades de registro acontece, e essas atividades são conhecidas como solicitações de autorização. Os logs contêm as seguintes informações úteis para solução de problemas:
- Configuração do sinalizador de recurso
- Tipos de solicitação de autorização
- MSAL nativa
- SSO de navegador/não MSAL
- Interação com as chaves do macOS para operações de recuperação/armazenamento de credenciais
- IDs de correlação para eventos de credenciais do Microsoft Entra
- Aquisição do PRT
- Registro de dispositivo
Cuidado
Os logs de extensão de SSO são extremamente detalhados, especialmente ao examinar as operações de credencial das chaves. Por esse motivo, é sempre melhor entender o cenário antes de examinar os logs durante a solução de problemas.
Estrutura de log
Os logs de extensão de SSO são divididos em colunas. A captura de tela a seguir mostra o detalhamento de coluna dos logs:
Coluna | Nome da coluna | Descrição |
---|---|---|
1 | Data/Hora Local | A data e a hora locais exibidas |
2 | I-Information W-Warning E-Error |
Exibe informações, avisos ou erros |
3 | ID do thread (TID) | Exibe a ID do thread de execução do aplicativo do agente de extensão de SSO |
4 | Número de versão da MSAL | O plug-in do agente da extensão de SSO do Microsoft Enterprise é criado como um aplicativo MSAL. Esta coluna indica a versão da MSAL que o aplicativo do agente está em execução |
5 | Versão do macOS | Mostrar a versão do sistema operacional macOS |
6 | Data/Hora UTC | A data e a hora UTC exibidas |
7 | ID de Correlação | As linhas nos logs que têm a ver com o Microsoft Entra ID ou operações de Keychain estendem a coluna Data/Hora UTC com uma ID de correlação |
8 | Mensagem | Mostra as mensagens detalhadas dos logs. A maioria das informações para solução de problemas podem ser encontradas nesta coluna |
Configuração do sinalizador de recurso
Durante a configuração do MDM da extensão de SSO do Microsoft Enterprise, uma extensão opcional de dados específicos pode ser enviada como instruções para alterar o comportamento da extensão de SSO. Essas instruções específicas de configuração são conhecidas como sinalizadores de recursos. A configuração do sinalizador de recurso é particularmente importante para tipos de solicitações de autorização de SSO não-MSAL/navegador, pois a ID do Pacote pode determinar se a extensão é invocada ou não. Confira a documentação do sinalizador de recurso. Cada solicitação de autorização começa com um relatório de configuração do sinalizador de recurso. A captura de tela a seguir mostra um exemplo de configuração de sinalizador de recurso:
Balão | Sinalizador de recurso | Descrição |
---|---|---|
1 | browser_sso_interaction_enabled | O navegador não MSAL ou Safari pode inicializar um PRT |
2 | browser_sso_disable_mfa | (Preterido no momento) Durante a inicialização da credencial PRT, por padrão, a MFA é necessária. Observe que essa configuração é definida como nula, o que significa que a configuração padrão é imposta |
3 | disable_explicit_app_prompt | Substitui solicitações de autenticação prompt=login de aplicativos para reduzir a solicitação |
4 | AppPrefixAllowList | Qualquer aplicativo não MSAL que tenha uma ID de pacote que comece com com.micorosoft. pode ser interceptado e manipulado pelo agente de extensão de SSO |
Importante
Sinalizadores de recursos definidos como nulos significa que a configuração padrão está em vigor. Verifique a documentação do sinalizador de recurso para obter mais detalhes
Fluxo de entrada do aplicativo nativo da MSAL
A seção a seguir explica como examinar os logs de extensão de SSO para o fluxo de autenticação do aplicativo MSAL nativo. Para este exemplo, estamos usando o aplicativo de exemplo MSAL macOS/iOS como aplicativo cliente, e o aplicativo está fazendo uma chamada para a API do Microsoft Graph para exibir as informações das credenciais do usuário.
MSAL nativa: passo a passo do fluxo interativo
As seguintes ações devem ocorrer para um logon interativo bem-sucedido:
- O usuário entra no aplicativo de exemplo MSAL macOS.
- O agente de extensão de SSO da Microsoft é invocado e manipula a solicitação.
- O agente de extensão de SSO da Microsoft passa pelo processo de inicialização para adquirir um PRT para o usuário conectado.
- Armazene o PRT nas chaves.
- Verifique a presença de um objeto de registro de dispositivo no Microsoft Entra ID (WPJ).
- Retorne um token de acesso ao aplicativo cliente para acessar o Microsoft Graph com um escopo User.Read.
Importante
Os snippets de log de exemplo a seguir foram anotados com cabeçalhos de comentário // que não são vistos nos logs. Eles são usados para ajudar a ilustrar uma ação específica que está sendo realizada. Documentamos os snippets de log dessa forma para ajudar nas operações de cópia e colagem. Além disso, os exemplos de log foram cortados para mostrar apenas linhas de significância para solução de problemas.
O usuário clica no botão Chamar a API do Microsoft Graph para invocar o processo de credenciais.
//////////////////////////
//get_accounts_operation//
//////////////////////////
Handling SSO request, requested operation: get_accounts_operation
(Default accessor) Get accounts.
(MSIDAccountCredentialCache) retrieving cached credentials using credential query
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 00001111-aaaa-2222-bbbb-3333cccc4444, scopes (null)
(Default accessor) No accounts found in default accessor.
(Default accessor) No accounts found in other accessors.
Completed get accounts SSO request with a personal device mode.
Request complete
Request needs UI
ADB 3.1.40 -[ADBrokerAccountManager allBrokerAccounts:]
ADB 3.1.40 -[ADBrokerAccountManager allMSIDBrokerAccounts:]
(Default accessor) Get accounts.
No existing accounts found, showing webview
/////////
//login//
/////////
Handling SSO request, requested operation: login
Handling interactive SSO request...
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/common";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
prompt = "select_account";
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
}
////////////////////////////////////////////////////////////
//Request PRT from Microsoft Authentication Broker Service//
////////////////////////////////////////////////////////////
Using request handler <ADInteractiveDevicelessPRTBrokerRequestHandler: 0x117ea50b0>
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 11112222-bbbb-3333-cccc-4444dddd5555, scopes (null)
Attempting to get Deviceless Primary Refresh Token interactively.
Caching AAD Environements
networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
Resolved authority, validated: YES, error: 0
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Start webview authorization session with webview controller class MSIDAADOAuthEmbeddedWebviewController:
[MSAL] Presenting web view controller.
O exemplo de registro em log pode ser dividido em três segmentos:
Segment | Descrição |
---|---|
get_accounts_operation |
Verifica se há contas existentes no cache - ClientID: A ID do aplicativo registrada no Microsoft Entra ID para este aplicativo MSAL O ADB 3.1.40 indica essa versão do plug-in do agente da extensão de SSO do Microsoft Enterprise |
login |
O Agente manipula a solicitação para o Microsoft Entra ID: - Manipulando a solicitação interativa de SSO...: indica uma solicitação interativa - correlation_id: útil para fazer referência cruzada com os logs de credenciais do lado do servidor do Microsoft Entra - escopo: escopo de permissão da API User.Read que está sendo solicitado do Microsoft Graph - client_version: versão da MSAL em que o aplicativo está em execução - redirect_uri: os aplicativos MSAL usam o formato msauth.com.<Bundle ID>://auth |
Solicitação PRT | O processo de inicialização para adquirir um PRT interativamente foi iniciado e renderiza a sessão de SSO do modo de exibição da Web Serviço do agente de autenticação da Microsoft - clientId: 29d9ed98-a469-4536-ade2-f981bc1d605e - Todas as solicitações de PRT são feitas no serviço do agente de autenticação da Microsoft |
O Controlador do modo de exibição da Web do SSO é exibido e o usuário é solicitado a inserir seu logon do Microsoft Entra (UPN/email)
Observação
Ao clicar no botão i no canto inferior esquerdo do controlador do modo de exibição da Web, será exibido mais informações sobre a extensão de SSO e as especificidades sobre o aplicativo que a invocou.
Após o usuário inserir com êxito suas credenciais do Microsoft Entra, as seguintes entradas de log são escritas nos logs de extensão de SSO
SSOExtensionLogs
///////////////
//Acquire PRT//
///////////////
[MSAL] -completeWebAuthWithURL: msauth://microsoft.aad.brokerplugin/?code=(not-null)&client_info=(not-null)&state=(not-null)&session_state=(not-null)
[MSAL] Dismissed web view controller.
[MSAL] Result from authorization session callbackURL host: microsoft.aad.brokerplugin , has error: NO
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId 29d9ed98-a469-4536-ade2-f981bc1d605e, scopes (null)
Saving PRT response in cache since no other PRT was found
[MSAL] Saving keychain item, item info Masked(not-null)
[MSAL] Keychain find status: 0
Acquired PRT.
///////////////////////////////////////////////////////////////////////
//Discover if there is an Azure AD Device Registration (WPJ) present //
//and if so re-acquire a PRT and associate with Device ID //
///////////////////////////////////////////////////////////////////////
WPJ Discovery: do discovery in environment 0
Attempt WPJ discovery using tenantId.
WPJ discovery succeeded.
Using cloud authority from WPJ discovery: https://login.microsoftonline.com/common
ADBrokerDiscoveryAction completed. Continuing Broker Flow.
PRT needs upgrade as device registration state has changed. Device is joined 1, prt is joined 0
Beginning ADBrokerAcquirePRTInteractivelyAction
Attempting to get Primary Refresh Token interactively.
Acquiring broker tokens for broker client id.
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Enrollment id read from intune cache : (null).
Handle silent PRT response Masked(not-null), error Masked(null)
Acquired broker tokens.
Acquiring PRT.
Acquiring PRT using broker refresh token.
Requesting PRT from authority https://login.microsoftonline.com/<TenantID>/oauth2/v2.0/token
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId (null), scopes (null)
[MSAL] Acquired PRT successfully!
Acquired PRT.
ADBrokerAcquirePRTInteractivelyAction completed. Continuing Broker Flow.
Beginning ADBrokerAcquireTokenWithPRTAction
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Handle silent PRT response Masked(not-null), error Masked(null)
//////////////////////////////////////////////////////////////////////////
//Provide Access Token received from Azure AD back to Client Application//
//and complete authorization request //
//////////////////////////////////////////////////////////////////////////
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm TenantID, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed interactive SSO request.
Completed interactive SSO request.
Request complete
Completing SSO request...
Finished SSO request.
Neste ponto do fluxo de autenticação/autorização, o PRT foi inicializado e deve estar visível no acesso às chaves do macOS. Confira Verificando o acesso ao Keychain para PRT. O aplicativo de exemplo MSAL macOS usa o token de acesso recebido do agente de extensão de SSO da Microsoft para exibir as informações do usuário.
Em seguida, examine os Logs de credenciais do Microsoft Entra do lado do servidor com base na ID de correlação coletada dos logs da extensão de SSO do lado do cliente. Para obter mais informações, consulte Logs de credenciais no Microsoft Entra ID.
Exibir os logs de credenciais do Microsoft Entra por filtro de ID de correlação
- Abra as Credenciais do Microsoft Entra para o locatário em que o aplicativo está registrado.
- Selecione Credenciais do usuário (interativo).
- Selecione o botão de opção Adicionar Filtros e a ID de Correlação.
- Copie e cole a ID de correlação obtida dos logs de extensão de SSO e selecione Aplicar.
Para o fluxo de logon interativo da MSAL, esperamos ver credenciais interativas para o serviço do agente de autenticação da Microsoft. Esse evento é onde o usuário inseriu sua senha para inicializar o PRT.
Também existem eventos de credenciais não interativas, devido ao fato de que o PRT é usado para adquirir o token de acesso para a solicitação do aplicativo cliente. Siga a Exibição de logs de credenciais do Microsoft Entra por filtro de ID de correlação, mas na etapa 2, selecione Credenciais de usuário (não interativas).
Atributo do log de credenciais | Descrição |
---|---|
Aplicativo | Nome de exibição do Registro do aplicativo no locatário do Microsoft Entra em que o aplicativo cliente é autenticado. |
ID do aplicativo | Também referenciado à ClientID do registro de aplicativo no locatário do Microsoft Entra. |
Recurso | O recurso da API ao qual o aplicativo cliente está tentando obter acesso. Neste exemplo, o recurso é a API do Microsoft Graph. |
Tipo de token de entrada | Um tipo de token de entrada de PRT (token de atualização principal) mostra o token de entrada sendo usado para obter um token de acesso para o recurso. |
Agente de usuário | A cadeia de caracteres do agente de usuário neste exemplo está mostrando que a extensão de SSO da Microsoft é o aplicativo que está processando essa solicitação. Um indicador útil de que a extensão de SSO está sendo usada e a solicitação de autenticação do agente está ocorrendo. |
Biblioteca de autenticação de aplicativo do Microsoft Entra | Quando um aplicativo MSAL está sendo usado, os detalhes da biblioteca e da plataforma são gravados aqui. |
Informações de escopo do Oauth | As informações de escopo Oauth2 solicitadas para o token de acesso. (User.Read,profile,openid,email). |
MSAL nativa: passo a passo do fluxo silencioso
Após um período de tempo, o token de acesso não será mais válido. Portanto, se o usuário clicar novamente no botão Chamar o Microsoft API do Graph. A extensão de SSO tenta atualizar o token de acesso com o PRT já adquirido.
SSOExtensionLogs
/////////////////////////////////////////////////////////////////////////
//refresh operation: Assemble Request based on User information in PRT /
/////////////////////////////////////////////////////////////////////////
Beginning authorization request
Request does not need UI
Handling SSO request, requested operation: refresh
Handling silent SSO request...
Looking account up by home account ID dbb22b2f, displayable ID auth.placeholder-61945244__domainname.com
Account identifier used for request: Masked(not-null), auth.placeholder-61945244__domainname.com
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/<TenantID>";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"home_account_id" = "<UserObjectId>.<TenantID>";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
username = "auth.placeholder-61945244__domainname.com";
}
//////////////////////////////////////////
//Acquire Access Token with PRT silently//
//////////////////////////////////////////
Using request handler <ADSSOSilentBrokerRequestHandler: 0x127226a10>
Executing new request
Beginning ADBrokerAcquireTokenSilentAction
Beginning silent flow.
[MSAL] Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm <TenantID>, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
[MSAL] (MSIDAccountCredentialCache) retrieving cached credentials using credential query
[MSAL] Silent controller with PRT finished with error Masked(null)
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed silent SSO request.
Request complete
Completing SSO request...
Finished SSO request.
O exemplo de registro em log pode ser dividido em dois segmentos:
Segment | Descrição |
---|---|
refresh |
O Agente manipula a solicitação para o Microsoft Entra ID: - Manipulação de solicitação de SSO silenciosa...: indica uma solicitação silenciosa - correlation_id: útil para fazer referência cruzada com os logs de credenciais do lado do servidor do Microsoft Entra - escopo: escopo de permissão da API User.Read que está sendo solicitado do Microsoft Graph - client_version: versão da MSAL em que o aplicativo está em execução - redirect_uri: os aplicativos MSAL usam o formato msauth.com.<Bundle ID>://auth A atualização tem diferenças notáveis no payload da solicitação: - authority: Contém o ponto de extremidade da URL do locatário do Microsoft Entra em vez do ponto de extremidade comum - home_account_id: mostra a conta de usuário no formato <UserObjectId>.< TenantID> - username: formato UPN com hash auth.placeholder-XXXXXXXX__domainname.com |
Atualizar PRT e adquirir token de acesso | Essa operação revalida o PRT e o atualiza, se necessário, antes de retornar o token de acesso de volta ao aplicativo cliente de chamada. |
Podemos usar novamente a ID de correlação obtida dos logs da Extensão de SSO do lado do cliente e fazer referência cruzada com os logs de credenciais do Microsoft Entra do lado do servidor.
As credenciais do Microsoft Entra mostram informações idênticas ao recurso do Microsoft Graph da operação de logon na seção de logon interativo anterior.
Fluxo de logon do aplicativo SSO de navegador/não MSAL
A seção a seguir explica como examinar os logs de extensão de SSO para o fluxo de autenticação do aplicativo de navegador/não MSAL. Para este exemplo, estamos usando o navegador Apple Safari como aplicativo cliente e o aplicativo está fazendo uma chamada para o aplicativo Web Office.com (OfficeHome).
Passo a passo do fluxo de SSO de navegador/não MSAL
As seguintes ações devem ocorrer para um logon bem-sucedido:
- Suponha que o usuário que já passou pelo processo de inicialização tenha um PRT existente.
- Em um dispositivo, com o agente de extensão de SSO da Microsoft implantado, os sinalizadores de recursos configurados são verificados para garantir que o aplicativo possa ser manipulado pela extensão de SSO.
- Como o navegador Safari adere à Pilha de Rede da Apple, a extensão de SSO tenta interceptar a solicitação de autenticação do Microsoft Entra.
- O PRT é usado para adquirir um token para o recurso que está sendo solicitado.
- Se o dispositivo estiver registrado no Microsoft Entra, ele passa a ID do dispositivo junto com a solicitação.
- A extensão de SSO preenche o cabeçalho da solicitação do navegador para entrar no recurso.
Os logs de extensão de SSO do lado do cliente a seguir mostram a solicitação sendo tratada de forma transparente pelo agente de extensão de SSO para atender à solicitação.
SSOExtensionLogs
Created Browser SSO request for bundle identifier com.apple.Safari, cookie SSO include-list (
), use cookie sso for this app 0, initiating origin https://www.office.com
Init MSIDKeychainTokenCache with keychainGroup: Masked(not-null)
[Browser SSO] Starting Browser SSO request for authority https://login.microsoftonline.com/common
[MSAL] (Default accessor) Found 1 tokens
[Browser SSO] Checking PRTs for deviceId 73796663
[MSAL] [Browser SSO] Executing without UI for authority https://login.microsoftonline.com/common, number of PRTs 1, device registered 1
[MSAL] [Browser SSO] Processing request with PRTs and correlation ID in headers (null), query aaaa0000-bb11-2222-33cc-444444dddddd
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] No cached preferred_network for authority
[MSAL] Caching AAD Environements
[MSAL] networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
[MSAL] networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
[MSAL] networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
[MSAL] networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
[MSAL] networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Found registration registered in login.microsoftonline.com, isSameAsRequestEnvironment: Yes
[MSAL] Passing device header in browser SSO for device id 43cfaf69-0f94-4d2e-a815-c103226c4c04
[MSAL] Adding SSO-cookie header with PRT Masked(not-null)
SSO extension cleared cookies before handling request 1
[Browser SSO] SSO response is successful 0
[MSAL] Keychain find status: 0
[MSAL] (Default accessor) Found 1 tokens
Request does not need UI
[MSAL] [Browser SSO] Checking PRTs for deviceId 73796663
Request complete
Componente do log de extensão de SSO | Descrição |
---|---|
Solicitação de SSO do navegador criada | Todas as solicitações de SSO de navegador/não MSAL começam com esta linha: - identificador de pacote: ID do pacote: com.apple.Safari - iniciando a origem: URL da Web que o navegador está acessando antes de acessar uma das URLs de logon para o Microsoft Entra ID (https://office.com) |
Iniciando a solicitação de SSO do navegador para autoridade | Resolve o número de PRTs e se o dispositivo está registrado: https://login.microsoftonline.com/common, número de PRTs 1, dispositivo registrado 1 |
ID de Correlação | [SSO do navegador] Solicitação de processamento com PRTs e ID de correlação em cabeçalhos (nulo), consulta <CorrelationID>. Essa ID é importante para fazer referência cruzada com os logs de credenciais do lado do servidor do Microsoft Entra |
Registro de dispositivo | Opcionalmente, se o dispositivo estiver registrado no Microsoft Entra, a extensão de SSO poderá passar o cabeçalho do dispositivo nas solicitações de SSO do navegador: - Registro encontrado registrado em - login.microsoftonline.com, isSameAsRequestEnvironment: Sim Passando o cabeçalho do dispositivo no SSO do navegador para a ID do dispositivo 43cfaf69-0f94-4d2e-a815-c103226c4c04 |
Em seguida, use a ID de correlação obtida dos logs de extensão de SSO do navegador para fazer referência cruzada aos logs de credenciais do Microsoft Entra.
Atributo do log de credenciais | Descrição |
---|---|
Aplicativo | Nome de exibição do Registro do aplicativo no locatário do Microsoft Entra em que o aplicativo cliente é autenticado. Neste exemplo, o nome de exibição é OfficeHome. |
ID do aplicativo | Também referenciado à ClientID do registro de aplicativo no locatário do Microsoft Entra. |
Recurso | O recurso da API ao qual o aplicativo cliente está tentando obter acesso. Neste exemplo, o recurso é o aplicativo Web OfficeHome. |
Tipo de token de entrada | Um tipo de token de entrada de PRT (token de atualização principal) mostra o token de entrada sendo usado para obter um token de acesso para o recurso. |
Método de autenticação detectado | Na guia Detalhes da Autenticação, o valor do Plug-in de SSO do Microsoft Entra é um indicador útil de que a extensão de SSO está sendo usada para facilitar a solicitação de SSO do navegador |
Versão de extensão de SSO do Microsoft Entra | Na guia Detalhes Adicionais, esse valor mostra a versão do aplicativo do agente da extensão de SSO do Microsoft Enterprise. |
ID do Dispositivo | Se o dispositivo estiver registrado, a extensão de SSO poderá passar a ID do dispositivo para lidar com solicitações de autenticação de dispositivo. |
Sistema operacional | Mostra o tipo de sistema operacional. |
Em conformidade | A extensão de SSO pode facilitar as políticas de conformidade passando o cabeçalho do dispositivo. Esses requisitos são: - Registro de Dispositivo do Microsoft Entra - Gerenciamento de MDM - Intune ou Conformidade de Parceiro do Intune |
Gerenciada | Indica que o dispositivo está sob gerenciamento. |
Tipo de junção | macOS e iOS, se registrados, só podem ser do tipo: Registrados no Microsoft Entra. |
Dica
Se você usar o Jamf Connect, é recomendável que siga as diretrizes mais recentes do Jamf sobre como integrar o Jamf Connect com o Microsoft entra ID. O padrão de integração recomendado garante que o Jamf Connect funcione corretamente com suas políticas de Acesso Condicional e com a Proteção do Microsoft Entra ID.