Partilhar via


Solução de problemas do plug-in Microsoft Enterprise SSO Extension em dispositivos Apple

Este artigo fornece orientações de solução de problemas usadas por administradores para resolver problemas com a implantação e o uso do plug-in Enterprise SSO. A extensão SSO da Apple pode ser implantada no iOS/iPadOS e macOS.

As organizações podem optar por implantar o SSO em seus dispositivos corporativos para fornecer uma experiência melhor para seus usuários finais. Nas plataformas Apple, esse processo envolve a implementação do Single Sign On (SSO) por meio de Primary Refresh Tokens. O SSO alivia os usuários finais do fardo de solicitações de autenticação excessivas.

A Microsoft implementou um plugin construído sobre a estrutura SSO da Apple, que fornece autenticação intermediada para aplicativos integrados com o Microsoft Entra ID. Para obter mais informações, consulte o artigo Microsoft Enterprise SSO plug-in para dispositivos Apple.

Tipos de extensão

A Apple suporta dois tipos de extensões SSO que fazem parte da sua estrutura: Redirecionamento e Credencial. O plug-in Microsoft Enterprise SSO 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 adequado para Como funciona Diferenças principais
Redirecionamento Métodos de autenticação modernos, como OpenID Connect, OAUTH2 e SAML (Microsoft Entra ID) O sistema operacional interceta a solicitação de autenticação do aplicativo para as URLs do provedor de identidade definidas no perfil de configuração MDM da extensão. As extensões de redirecionamento recebem: URLs, cabeçalhos e corpo. Solicite credenciais antes de solicitar dados. Usa URLs no perfil de configuração do MDM.
Credencial Tipos de autenticação de desafio e resposta, como Kerberos (Serviços de Domínio Ative Directory locais) A solicitação é enviada do aplicativo para o servidor de autenticação (controlador de domínio do AD). As extensões de credenciais 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 roteia o desafio para a extensão. A extensão tem a opção de lidar ou rejeitar a contestação. Se manipulada, a extensão retorna os cabeçalhos de autorização para concluir a solicitação e o servidor de autenticação retorna uma resposta ao chamador. Solicite dados e, em seguida, seja desafiado para autenticação. Use HOSTs no perfil de configuração MDM.

A Microsoft tem implementações para autenticação intermediada para os seguintes sistemas operacionais cliente:

SO Agente de autenticação
Windows Gerente de Conta Web (WAM)
iOS/iPadOS Microsoft Authenticator
Android Autenticador da Microsoft ou Portal da Empresa do Microsoft Intune
macOS Portal da Empresa do Microsoft Intune (via Extensão SSO)

Todos os aplicativos de broker da Microsoft usam um artefato de chave conhecido como PRT (Primary Refresh Token), que é um JSON Web Token (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 Enterprise SSO para macOS ou iOS obtém um PRT semelhante aos PRTs usados em dispositivos Windows pelo Web Account Manager (WAM). Para obter mais informações, consulte o artigo O que é um token de atualização primário.

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 SSO. O restante deste artigo entra em detalhes sobre as etapas descritas neste fluxograma. A solução de problemas pode ser dividida em duas áreas de foco separadas: Deployment e Application Auth Flow.

Etapas para desativar o SSO da plataforma no macOS

Para desativar o PSSO que foi habilitado por engano, os administradores devem remover o perfil de extensão SSO com PSSO habilitado dos dispositivos e implantar um novo perfil de extensão SSO com sinalizadores PSSO desativados/removidos.

  1. Remova a segmentação para o perfil SSO com o PSSO habilitado
  2. Inicie a sincronização do dispositivo para remover o perfil SSO com PSSO ativado do dispositivo
  3. Direcione o dispositivo com um novo perfil SSO com PSSO desativado
  4. Inicie a sincronização do dispositivo para obter o novo perfil instalado no dispositivo

Importante

Nota: Atualizar o perfil SSO existente no dispositivo NÃO ajudará a desativar o PSSO após a conclusão do registro do PSSO. Somente uma remoção completa do perfil SSO do dispositivo removerá o estado PSSO do dispositivo.

Contexto:

Os usuários começarão a ver a notificação de registro PSSO em dispositivos macOS 13+ em dois cenários:

  1. Se o dispositivo já tiver a versão do Portal da Empresa do Intune que suporte PSSO e admin implantará nova política de extensão SSO com PSSO habilitado
  2. Se o usuário já estiver direcionado com a política de extensão SSO com PSSO habilitado e, posteriormente, uma versão do Portal da Empresa do Intune com suporte a PSSO será instalada no dispositivo.

Atenção

Os administradores NÃO devem direcionar usuários com a política de extensão SSO com PSSO habilitado, a menos que eles sejam testados e estejam prontos para serem implantados, pois isso pode potencialmente quebrar os usuários existentes e suas condições de conformidade.

Importante

Nota: Para os usuários que concluírem o registro PSSO, o registro WPJ herdado será removido das chaves. Se o registro PSSO foi feito por engano, uma vez que o administrador remove o perfil SSO com PSSO e instala novo perfil sem PSSO, o registro WPJ herdado deve ser feito novamente para que a conformidade do dispositivo funcione.

Solução de problemas de implantação

A maioria dos problemas que os clientes encontram derivam de configurações inadequadas de Gerenciamento de Dispositivo Móvel (MDM) do perfil de extensão SSO ou de uma incapacidade do dispositivo Apple de receber o perfil de configuração do MDM. Esta seção aborda as etapas que você pode seguir para garantir que o perfil MDM foi implantado em um Mac e que ele tem a configuração correta.

Requisitos de implantação

  • Sistema operacional macOS: versão 10.15 (Catalina) ou superior.
  • Sistema operacional iOS: versão 13 ou superior.
  • Dispositivo gerido por qualquer fornecedor de MDM que suporte Apple macOS e/ou iOS (MDM Enrollment).
  • Software do Agente de Autenticação instalado: Portal da Empresa do Microsoft Intune ou Microsoft Authenticator para iOS.

Verifique 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 da Extensão SSO da Apple são implantados apenas em dispositivos que executam o macOS 10.15 (Catalina) ou superior. Pode verificar a versão do macOS a partir da Interface de Utilizador ou a partir do Terminal.

Interface de utilizador
  1. No dispositivo macOS, selecione no ícone da Apple no canto superior esquerdo e selecione Sobre este Mac.

  2. A versão do sistema operacional está listada ao lado do macOS.

Terminal
  1. No dispositivo macOS, clique duas vezes na pasta Aplicativos e, em seguida, clique duas vezes na pasta Utilitários.

  2. Clique duas vezes no aplicativo Terminal .

  3. Quando o Terminal abrir, digite sw_vers no prompt, procure um resultado como o seguinte:

    % sw_vers
    ProductName: macOS
    ProductVersion: 13.0.1
    BuildVersion: 22A400
    

Verifique 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 da Extensão SSO da Apple só são implementados em dispositivos com iOS 13 ou superior. Pode verificar a versão iOS a partir da aplicação Definições. Abra a aplicação Definições:

Captura de ecrã a mostrar o ícone da aplicação Definições do iOS.

Navegue até Geral e, em seguida, Sobre. Esta tela lista informações sobre o dispositivo, incluindo o número da versão do iOS:

Captura de ecrã a mostrar a versão do iOS na aplicação Definições.

Implantação MDM do perfil de configuração de extensão SSO

Trabalhe com o administrador do MDM (ou com a equipa de Gestão de Dispositivos) para garantir que o perfil de configuração da extensão é implementado nos dispositivos Apple. O perfil de extensão pode ser implantado a partir de qualquer MDM compatível com dispositivos macOS ou iOS.

Importante

A Apple exige que os dispositivos estejam inscritos em um MDM para que a extensão SSO seja implantada.

A tabela a seguir fornece orientações específicas de instalação do MDM, dependendo do sistema operacional no qual você está implantando a extensão:

Importante

Embora qualquer MDM seja suportado para implantar a Extensão SSO, muitas organizações implementam políticas de Acesso Condicional baseadas em dispositivo por meio da avaliação de políticas de conformidade com MDM. Se estiver a ser utilizado um MDM de terceiros, certifique-se de que o fornecedor do MDM suporta a Conformidade de Parceiros do Intune se pretender utilizar políticas de Acesso Condicional baseadas em dispositivos. Quando a Extensão SSO é implementada através do Intune ou de um fornecedor de MDM que suporta a Conformidade de Parceiros 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 configuração de rede no dispositivo macOS

A estrutura de extensão SSO da Apple e a Microsoft Enterprise SSO Extension construída nela exigem que determinados domínios sejam isentos de intercetação/inspeção TLS (também conhecido como proxy de quebra e inspeção). Os seguintes domínios não devem estar sujeitos à inspeção TLS:

  • app-site-association.cdn-apple.com
  • aplicativo-site-associação.networking.apple
Verifique se a configuração SSO está quebrada 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á guardado no seu ambiente de trabalho como um arquivo .tar.gz. Extraia o arquivo e abra o arquivo system_logs.logarchive . Isso será aberto no aplicativo Console. Procure com.apple.appsso e altere o filtro para SUBSYSTEM:

Captura de tela mostrando sysdiagnose.

Procure eventos informando que há falhas de Domínio Associado, 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 de diagnóstico de sistema, mesmo que sejam afetados por uma configuração de inspeção TLS não suportada.

Validar configuração de inspeção TLS

A Apple fornece uma ferramenta do macOS para verificar uma série de problemas de configuração comuns chamada Utilitário de Avaliação do Mac. Esta ferramenta pode ser baixada do AppleSeed for IT. Se você tiver acesso ao AppleSeed for IT, faça o download do Mac Evaluation Utility na área de Recursos. Depois de instalar o aplicativo, execute uma avaliação. Quando a avaliação estiver concluída, navegue até HTTPS Interception -->Additional Content --> e verifique os dois itens abaixo:

Captura de ecrã a mostrar o Utilitário de Avaliação Mac.

Se essas verificações tiverem um aviso ou erro, pode haver 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á erros:


    ```
    Entry s = authsrv, a = UBF8T346G9.com.microsoft.CompanyPortalMac, d = login.microsoftonline.com
    ```

Limpar cache de inspeção TLS do macOS

Se você tiver problemas com domínios associados e tiver domínios permitidos listados 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 da 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 a aplicação Portal da Empresa do Intune para o Lixo e, em seguida, reinicie o dispositivo. Após a conclusão da reinicialização, você pode tentar reinstalar o aplicativo Portal da Empresa.
  • Registre novamente seu dispositivo.

Se nenhum dos métodos acima resolver o problema, pode haver algo mais em seu ambiente que pode estar bloqueando a validação de domínio associada. Se isso acontecer, entre em contato com o suporte da Apple para obter mais soluções de problemas.

Validar 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 SSO, a próxima etapa é verificar se o perfil foi implantado com êxito no dispositivo.

Localize o perfil de configuração MDM da extensão SSO
  1. No dispositivo macOS, selecione em Configurações do sistema.

  2. Quando as Configurações do Sistema aparecerem, digite Perfis e pressione return.

  3. Esta ação deve abrir o painel Perfis .

    Captura de tela mostrando perfis de configuração.

    Texto explicativo da captura de tela Description
    1 Indica que o dispositivo está em Gerenciamento MDM .
    2 Pode haver vários perfis para escolher. Neste exemplo, o Microsoft Enterprise SSO Extension Profile é chamado Extensible Single Sign On Profile-32f37be3-302e-4549-a3e3-854d300e117a.

    Nota

    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 um deles e verifique se a linha Configurações indica que se trata de uma Extensão de Logon Único.

  4. Clique duas vezes no perfil de configuração que corresponde a um valor de Configurações da Extensão de Logon Único.

    Captura de tela mostrando o perfil de configuração da extensão SSO.

    Texto explicativo da captura de tela Definição do perfil de configuração Description
    1 Assinatura Autoridade de assinatura do provedor de MDM.
    2 Instalada 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 SSO da Apple.
    4 Extensão Identificador que mapeia para a ID do pacote do aplicativo que está executando o plug-in Microsoft Enterprise Extension. O identificador deve ser sempre definido como com.microsoft.CompanyPortalMac.ssoextension e o Identificador de Equipe deve aparecer como (UBF8T346G9) se o perfil estiver instalado em um dispositivo macOS. Se algum valor diferir, o MDM não invocará a extensão corretamente.
    5 Tipo A extensão Microsoft Enterprise SSO deve sempre ser definida como um tipo de extensão de redirecionamento . Para obter mais informações, consulte Redirecionamento vs Tipos de extensão de credencial.
    6 URLs As URLs de login pertencentes ao Provedor de Identidade (ID do Microsoft Entra). Consulte a lista de URLs suportados.

    Todas as extensões de redirecionamento SSO da Apple devem ter os seguintes componentes de carga útil MDM no perfil de configuração:

    Componente de carga útil MDM Description
    Identificador de extensão Inclui o Identificador de Pacote e o Identificador de Equipe do aplicativo no dispositivo macOS, executando a Extensão. Nota: A Extensão Microsoft Enterprise SSO deve ser sempre definida como: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9) para informar o sistema operativo macOS de que o código do cliente de extensão faz parte da aplicação Portal da Empresa do Intune.
    Tipo Deve ser definido como Redirecionar para indicar um tipo de extensão de redirecionamento.
    URLs URLs de ponto de extremidade do provedor de identidade (ID do Microsoft Entra), onde 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 do Microsoft Enterprise SSO Extension, esses parâmetros de configuração são chamados de sinalizadores de recursos. Consulte as definições de sinalizador de recurso.

    Nota

    As definições de MDM para o perfil de extensão SSO da Apple podem ser referenciadas no artigo Configurações de carga útil MDM de logon único extensível para dispositivos Apple A Microsoft implementou nossa extensão com base nesse esquema. Consulte o plug-in Microsoft Enterprise SSO para dispositivos Apple

  5. Para verificar se o perfil correto para a extensão Microsoft Enterprise SSO está instalado, o campo Extensão deve corresponder: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9).

  6. Anote o campo Instalado no perfil de configuração, pois ele pode ser um indicador de solução de problemas útil, quando forem feitas alterações em sua configuração.

Se o perfil de configuração correto tiver sido verificado, vá 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 de configuração da extensão SSO não aparecer na Lista de perfis depois de seguir a seção anterior, pode ser que a configuração do MDM tenha a segmentação de usuário/dispositivo habilitada, o que está efetivamente filtrando o usuário ou 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
  1. No dispositivo macOS, clique duas vezes na pasta Aplicativos e, em seguida, clique duas vezes na pasta Utilitários.

  2. Clique duas vezes no aplicativo Console .

  3. Clique no botão Iniciar para ativar o log de rastreamento do console.

    Captura de tela mostrando o aplicativo Console e o botão Iniciar sendo clicado.

  4. Peça ao administrador do MDM que tente reimplantar o perfil de configuração neste dispositivo/usuário macOS e forçar um ciclo de sincronização.

  5. Digite subsystem:com.apple.ManagedClient na barra de pesquisa e pressione return.

    Captura de ecrã a mostrar a aplicação Console com o filtro do subsistema.

  6. Onde o cursor está piscando na barra de pesquisa, digite message:Extensível.

    Captura de tela mostrando o console sendo filtrado no campo de mensagem.

  7. Agora você deve ver os logs do Console MDM filtrados nas 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 aplicativos

A orientação nesta seção pressupõe que o dispositivo macOS tenha um perfil de configuração implantado corretamente. Consulte Validar perfil de configuração SSO no dispositivo macOS para obter as etapas.

Uma vez implantada, a Microsoft Enterprise SSO Extension para dispositivos Apple oferece suporte a dois tipos de fluxos de autenticação de aplicativos para cada tipo de aplicativo. Ao solucionar problemas, é importante entender o tipo de aplicativo que está sendo usado.

Tipos de aplicação

Tipo de aplicação Autenticação interativa Auth silencioso Description Exemplos
Aplicativo MSAL nativo X X MSAL (Microsoft Authentication Library) é uma estrutura de desenvolvedor de aplicativos sob medida para criar aplicativos com a plataforma de identidade da Microsoft (Microsoft Entra ID).
Os aplicativos criados no MSAL versão 1.1 ou superior podem se integrar com a extensão Microsoft Enterprise SSO.
Se o aplicativo for uma extensão SSO (broker) ciente de que utiliza a extensão sem qualquer configuração adicional para obter mais informações, consulte nossa documentação de exemplo de desenvolvedor MSAL.
Microsoft To Do
SSO Nativo/Navegador Não MSAL X Os aplicativos que usam tecnologias de rede da Apple ou visualizações 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 a credencial compartilhada (PRT).
Microsoft Word
Safari
Microsoft Edge
Visual Studio

Importante

Nem todos os aplicativos nativos primários da Microsoft usam a estrutura MSAL. No momento da publicação deste artigo, a maioria dos aplicativos macOS do Microsoft Office ainda depende da estrutura de biblioteca ADAL mais antiga e, portanto, depende do fluxo de SSO do navegador.

Como encontrar o ID do pacote para um aplicativo no macOS

  1. No dispositivo macOS, clique duas vezes na pasta Aplicativos e, em seguida, clique duas vezes na pasta Utilitários.

  2. Clique duas vezes no aplicativo Terminal .

  3. 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
    
  4. Agora que o(s) ID(s) do pacote foram coletados, siga nossas orientações para configurar os sinalizadores de recursos para garantir que os aplicativos SSO Nativos/Navegadores Não MSAL possam utilizar a Extensão SSO. Nota: Todas as ids de pacote diferenciam maiúsculas de minúsculas para a configuração do sinalizador de recurso.

Atenção

Os aplicativos que não usam tecnologias Apple Networking (como WKWebview e NSURLSession) não poderão usar a credencial compartilhada (PRT) da extensão SSO. Tanto o Google Chrome como o Mozilla Firefox enquadram-se nesta categoria. Mesmo que eles estejam configurados no perfil de configuração do MDM, o resultado será um prompt de autenticação regular no navegador.

Bootstrapping

Por padrão, apenas os aplicativos MSAL invocam a Extensão SSO e, por sua vez, a Extensão adquire uma credencial compartilhada (PRT) da ID do Microsoft Entra. No entanto, a aplicação do navegador Safari ou outras aplicações não MSAL podem ser configuradas para adquirir o PRT. Consulte Permitir que os utilizadores iniciem sessão a partir de aplicações que não utilizam o MSAL e o navegador Safari. Depois que a extensão SSO adquirir um PRT, ela armazenará a credencial no Conjunto de chaves de login do usuário. Em seguida, verifique se o PRT está presente no porta-chaves do usuário:

Verificando o acesso das chaves para PRT

  1. No dispositivo macOS, clique duas vezes na pasta Aplicativos e, em seguida, clique duas vezes na pasta Utilitários.

  2. Clique duas vezes no aplicativo Acesso às Chaves.

  3. Em Porta-chaves padrão, selecione Itens locais (ou iCloud).

    • Certifique-se de que Todos os itens está selecionado.
    • Na barra de pesquisa, no lado direito, digite primaryrefresh (Para filtrar).

    captura de tela mostrando como encontrar o PRT no aplicativo de acesso às chaves.

    Texto explicativo da captura de tela Componente de credenciais de chaveiro Description
    1 Todos os itens Mostra todos os tipos de credenciais no Acesso às Chaves
    2 Barra de pesquisa de porta-chaves Permite filtrar por credencial. Para filtrar o tipo PRT do Microsoft Entra primaryrefresh
    3 Variante Refere-se ao tipo de credencial. A credencial PRT do Microsoft Entra é um tipo de credencial de Senha de Aplicativo
    4 Conta Exibe a conta de usuário do Microsoft Entra, que possui o PRT no formato: UserObjectId.TenantId-login.windows.net
    5 Em que Exibe o nome completo da credencial. A credencial 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 Microsoft Authentication Broker , responsável por lidar com solicitações de aquisição PRT
    6 Modificado Mostra quando a credencial foi atualizada pela última vez. Para a credencial 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 Porta-chaves Indica qual Conjunto de Chaves a credencial selecionada reside. A credencial PRT do Microsoft Entra reside nos Itens Locais ou no Porta-chaves iCloud. Quando o iCloud estiver ativado no dispositivo macOS, o Porta-chaves de Itens Locais tornar-se-á o porta-chaves do iCloud
  4. Se o PRT não for encontrado no Acesso às Chaves, faça o seguinte com base no tipo de aplicativo:

    • MSAL nativo: verifique se o desenvolvedor do aplicativo, se o aplicativo foi criado com o MSAL versão 1.1 ou superior, habilitou o aplicativo para estar ciente do broker. Além disso, verifique as etapas de solução de problemas de implantação para excluir quaisquer problemas de implantação.
    • Não MSAL (Safari): verifique se o sinalizador browser_sso_interaction_enabled de recurso está definido como 1 e não 0 no perfil de configuração do MDM

Fluxo de autenticação após a inicialização de um PRT

Agora que a PRT (credencial compartilhada) foi verificada, 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 Microsoft Enterprise SSO Extension (aplicativo broker). As animações e descrições a seguir devem ajudar os administradores do macOS a entender o cenário antes de examinar quaisquer dados de registro.

Aplicação MSAL nativa

Cenário: Um aplicativo desenvolvido para usar MSAL (Exemplo: cliente Microsoft To Do ) que está sendo executado em um dispositivo Apple precisa entrar o usuário com sua conta Microsoft Entra para acessar um serviço protegido Microsoft Entra (Exemplo: Microsoft To Do Service).

Uma animação GIF mostrando o fluxo de autenticação de um aplicativo MSAL com um PRT.

  1. Os aplicativos desenvolvidos pela MSAL invocam a extensão SSO diretamente e enviam o PRT para o ponto de extremidade do token Microsoft Entra junto com a solicitação do aplicativo para um token para um recurso protegido pelo Microsoft Entra
  2. O Microsoft Entra ID valida a credencial PRT e retorna um token específico do aplicativo de volta para o agente de extensão SSO
  3. Em seguida, o agente de extensão SSO passa o token para o aplicativo cliente MSAL, que o envia para o recurso protegido do Microsoft Entra
  4. O usuário agora está conectado ao aplicativo e o processo de autenticação está concluído
SSO não-MSAL/Browser

Cenário: Um utilizador num dispositivo Apple abre o navegador Safari (ou qualquer aplicação nativa não MSAL que suporte o Apple Networking Stack) para iniciar sessão num recurso protegido pelo Microsoft Entra (Exemplo: https://office.com).

Uma animação mostrando o fluxo de autenticação de alto nível de um aplicativo não-MSAL usando a extensão SSO.

  1. 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
  2. Contanto que o aplicativo não-MSAL esteja listado na configuração de carga útil MDM, a pilha de rede da Apple interceta a solicitação de autenticação e redireciona a solicitação para o agente de extensão SSO
  3. Assim que a extensão SSO recebe a solicitação intercetada, o PRT é enviado para o ponto de extremidade do token Microsoft Entra
  4. O Microsoft Entra ID valida o PRT e retorna um token específico do aplicativo de volta para a extensão SSO
  5. O token específico do aplicativo é fornecido ao aplicativo cliente não-MSAL e o aplicativo cliente envia o token para acessar o serviço protegido do Microsoft Entra
  6. O utilizador concluiu agora o início de sessão e o processo de autenticação está concluído

Obtendo os logs de extensão SSO

Uma das ferramentas mais úteis para solucionar vários problemas com a extensão SSO são os logs de cliente do dispositivo Apple.

Salvar logs de extensão SSO do aplicativo Portal da Empresa

  1. No dispositivo macOS, clique duas vezes na pasta Aplicativos .

  2. Clique duas vezes no aplicativo Portal da Empresa.

  3. Quando o Portal da Empresa carregar, navegue até a barra de menu superior: Relatório de diagnóstico Help-Save>. Não é necessário iniciar sessão na aplicação.

    Captura de ecrã a mostrar como navegar no menu superior Ajuda para Guardar o relatório de diagnóstico.

  4. Salve o arquivo de log do Portal da Empresa no local de sua escolha (por exemplo: Área de trabalho).

  5. Abra o arquivo CompanyPortal.zip e abra o arquivo SSOExtension.log com qualquer editor de texto.

Gorjeta

Uma maneira prática de exibir os logs é usando o Visual Studio Code e instalando a extensão Log Viewer.

Tailing SSO extension logs no macOS com terminal

Durante a solução de problemas, pode ser útil reproduzir um problema enquanto os logs do SSOExtension são corrigidos em tempo real:

  1. No dispositivo macOS, clique duas vezes na pasta Aplicativos e, em seguida, clique duas vezes na pasta Utilitários.

  2. Clique duas vezes no aplicativo Terminal .

  3. Quando o Terminal abrir, digite:

    tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
    

    Nota

    O /* à direita indica que vários logs serão removidos caso exista algum

    % 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)
    
  4. Ao reproduzir o problema, mantenha a janela Terminal aberta para observar a saída dos logs SSOExtension com cauda.

Exportando logs de extensão SSO no iOS

Não é possível visualizar os logs da Extensão SSO do iOS em tempo real, como acontece no macOS. Os logs de extensão SSO do iOS podem ser exportados do aplicativo Microsoft Authenticator e, em seguida, revisados de outro dispositivo:

  1. Abra o aplicativo Microsoft Authenticator:

    Captura de ecrã a mostrar o ícone da aplicação Microsoft Authenticator no iOS.

  2. Pressione o botão de menu no canto superior esquerdo:

    Captura de ecrã a mostrar a localização do botão de menu na aplicação Microsoft Authenticator.

  3. Escolha a opção "Enviar feedback":

    Captura de ecrã a mostrar a localização da opção enviar comentários na aplicação Microsoft Authenticator.

  4. Escolha a opção "Ter problemas":

    Captura de ecrã a mostrar a opção de localização de problemas na aplicação Microsoft Authenticator.

  5. Pressione a opção Exibir dados de diagnóstico:

    Captura de ecrã a mostrar o botão ver dados de diagnóstico na aplicação Microsoft Authenticator.

    Gorjeta

    Se estiver a trabalhar com o Suporte da Microsoft, nesta fase pode premir o botão Enviar para enviar os registos para o suporte. Isso fornecerá uma ID de Incidente, que você pode fornecer ao seu contato de Suporte da Microsoft.

  6. Pressione o botão "Copiar tudo" para copiar os logs para a área de transferência do seu dispositivo iOS. Em seguida, você pode salvar os arquivos de log em outro lugar para revisão ou enviá-los por e-mail ou outros métodos de compartilhamento de arquivos:

    Captura de ecrã a mostrar a opção Copiar todos os registos na aplicação Microsoft Authenticator.

Noções básicas sobre os logs de extensão SSO

Analisar os logs de extensão SSO é uma excelente maneira de solucionar problemas do 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 SSO é invocado, uma série de atividades de registro resulta 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 recursos
  • Tipos de solicitação de autorização
    • MSAL nativo
    • SSO não MSAL/Browser
  • Interação com o macOS Keychain para operações de recuperação/armazenamento de credenciais
  • IDs de correlação para eventos de entrada do Microsoft Entra
    • Aquisição da PRT
    • Registo do dispositivo

Atenção

Os logs de extensão SSO são extremamente detalhados, especialmente quando se analisa as operações de credenciais de Chaves. Por esse motivo, é sempre melhor entender o cenário antes de examinar os logs durante a solução de problemas.

Estrutura do log

Os logs de extensão SSO são divididos em colunas. A captura de tela a seguir mostra o detalhamento da coluna dos logs:

Captura de tela mostrando a estrutura da coluna dos logs de extensão SSO.

Column Nome da coluna Description
1 Data/Hora Local A data e hora locais exibidas
2 I-Informação
W-Aviso
E-Erro
Exibe informações, avisos ou erros
3 ID do thread (TID) Exibe a ID de thread da execução do aplicativo Broker de extensão SSO
4 Número de versão do MSAL O Microsoft Enterprise SSO extensão Broker Plugin é construído como um aplicativo MSAL. Esta coluna indica a versão do MSAL que o aplicativo de agente está executando
5 Versão macOS Mostrar a versão do sistema operativo macOS
6 Data/Hora UTC A data e hora UTC exibidas
7 ID de correlação As linhas nos logs que têm a ver com as operações de ID ou Porta-chaves do Microsoft Entra 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 de solução de problemas pode ser encontrada examinando esta coluna

Configuração do sinalizador de recursos

Durante a configuração MDM da extensão Microsoft Enterprise SSO, um dado específico de extensão opcional pode ser enviado como instruções para alterar como a extensão SSO se comporta. Essas instruções específicas de configuração são conhecidas como Feature Flags. A configuração do Sinalizador de Recurso é especialmente importante para tipos de solicitações de autorização SSO Não MSAL/Navegador, pois o ID do Pacote pode determinar se a Extensão é invocada ou não. Consulte a documentação do Feature Flag. Cada solicitação de autorização começa com um relatório de configuração do Feature Flag. A captura de tela a seguir percorre um exemplo de configuração de sinalizador de recurso:

Captura de tela mostrando um exemplo de configuração de sinalizador de recurso da extensão Microsoft SSO.

Chamada Sinalizador de recurso Description
1 browser_sso_interaction_enabled O navegador não-MSAL ou Safari pode inicializar um PRT
2 browser_sso_disable_mfa (Agora preterido) Durante a inicialização da credencial PRT, por padrão, a MFA é necessária. Observe que essa configuração é definida como null , o que significa que a configuração padrão é imposta
3 disable_explicit_app_prompt Substitui prompt=login solicitações de autenticação de aplicativos para reduzir prompts
4 AppPrefixAllowList Qualquer aplicativo não-MSAL que tenha uma ID de pacote que começa com com.micorosoft. pode ser intercetado e manipulado pelo agente de extensão SSO

Importante

Sinalizadores de recurso definidos como nulos significa que sua configuração padrão está em vigor. Verifique a documentação do Feature Flag para obter mais detalhes

Fluxo de entrada do aplicativo nativo do MSAL

A seção a seguir explica como examinar os logs de extensão SSO para o fluxo de autenticação do aplicativo MSAL nativo. Neste exemplo, estamos usando o aplicativo de exemplo MSAL macOS/iOS como o aplicativo cliente e o aplicativo está fazendo uma chamada para a API do Microsoft Graph para exibir as informações do usuário de entrada.

MSAL nativo: Passo a passo do fluxo interativo

As seguintes ações devem ocorrer para um logon interativo bem-sucedido:

  1. O utilizador inicia sessão na aplicação de exemplo MSAL macOS.
  2. O Microsoft SSO Extension Broker é invocado e lida com a solicitação.
  3. O Microsoft SSO Extension Broker passa pelo processo de inicialização para adquirir um PRT para o usuário conectado.
  4. Guarde o PRT no Porta-chaves.
  5. Verifique a presença de um objeto Device Registration no Microsoft Entra ID (WPJ).
  6. Retornar um token de acesso ao aplicativo cliente para acessar o Microsoft Graph com um escopo de User.Read.

Importante

Os trechos de log de exemplo a seguir foram anotados com cabeçalhos de comentário // que não são vistos nos logs. São utilizados para ajudar a ilustrar uma ação específica que está a ser realizada. Documentamos os trechos de log dessa forma para ajudar nas operações de copiar e colar. Além disso, os exemplos de log foram cortados para mostrar apenas linhas de importância para a solução de problemas.

O usuário clica no botão Chamar API do Microsoft Graph para invocar o processo de entrada.

Captura de tela mostrando o aplicativo de exemplo MSAL para macOS iniciado com o botão Chamar API do Microsoft Graph.

//////////////////////////
//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. 

A amostra de registro pode ser dividida em três segmentos:

Segmento Description
get_accounts_operation Verifica se há contas existentes no cache
- ClientID: A ID do aplicativo registrada no Microsoft Entra ID para este aplicativo MSAL
ADB 3.1.40 indica que a versão do plug-in Microsoft Enterprise SSO Extension Broker
login O Broker lida com a solicitação do Microsoft Entra ID:
- Manipulando uma solicitação de SSO interativa...: Indica uma solicitação interativa
- correlation_id: Útil para referência cruzada com os logs de entrada do servidor do Microsoft Entra
- escopo: escopo de permissão da API User.Read sendo solicitado do Microsoft Graph
- client_version: versão do MSAL que o aplicativo está executando
- redirect_uri: Os aplicativos MSAL usam o formato msauth.com.<Bundle ID>://auth
Pedido PRT O processo de inicialização para adquirir um PRT interativamente foi iniciado e renderiza a sessão SSO do Webview

Serviço de Agente de Autenticação da Microsoft
- clientId: 29d9ed98-a469-4536-ade2-f981bc1d605e
- Todas as solicitações PRT são feitas ao Microsoft Authentication Broker Service

O SSO Webview Controller é exibido e o usuário é solicitado a inserir seu login do Microsoft Entra (UPN/email)

Captura de tela mostrando o prompt de SSO da Apple com informações de usuário sendo inseridas e mais informações explicativas.

Nota

Clicar no i no canto inferior esquerdo do controlador webview exibe mais informações sobre a extensão SSO e os detalhes sobre o aplicativo que a invocou.

Captura de tela mostrando mais detalhes de informações sobre a extensão SSO na tela SSO de prompt. Depois que o usuário insere com êxito suas credenciais do Microsoft Entra, as seguintes entradas de log são gravadas nos logs de extensão 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. Consulte Verificando o acesso às chaves para PRT. O aplicativo de exemplo MSAL macOS usa o token de acesso recebido do Microsoft SSO Extension Broker para exibir as informações do usuário.

Em seguida, examine os logs de entrada do Microsoft Entra do lado do servidor com base na ID de correlação coletada dos logs de extensão de SSO do lado do cliente. Para obter mais informações, consulte Logs de entrada na ID do Microsoft Entra.

Exibir logs de entrada do Microsoft Entra por filtro de ID de correlação
  1. Abra o Microsoft Entra Sign-ins para o locatário onde o aplicativo está registrado.
  2. Selecione Login de usuário (interativo).
  3. Selecione o botão de opção Adicionar filtros e selecione o ID de correlação .
  4. Copie e cole a ID de correlação obtida dos logs de extensão SSO e selecione Aplicar.

Para o MSAL Interactive Login Flow, esperamos ver uma entrada interativa para o recurso serviço Microsoft Authentication Broker . Este evento é onde o usuário inseriu sua senha para inicializar o PRT.

Captura de ecrã a mostrar os Inícios de Sessão de Utilizador interativos a partir do ID do Microsoft Entra mostrando um início de sessão interativo no Serviço de Agente de Autenticação da Microsoft.

Há também eventos de entrada não interativos, devido ao fato de que o PRT é usado para adquirir o token de acesso para a solicitação do aplicativo cliente. Siga a opção Exibir logs de entrada do Microsoft Entra pelo Filtro de ID de Correlação, mas na etapa 2, selecione Entradas de usuário (não interativas).

Captura de tela mostrando como a extensão SSO usa o PRT para adquirir um token de acesso para o Microsoft Graph.

Atributo de log de entrada Description
Aplicação Nome para exibição do registro do aplicativo no locatário do Microsoft Entra onde o aplicativo cliente é autenticado.
ID do aplicativo Também referido ao ClientID do registo da aplicação no inquilino do Microsoft Entra.
Recurso O recurso de 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 (Primary Refresh Token) mostra o token de entrada que está sendo usado para obter um token de acesso para o recurso.
Agente de usuário A cadeia de caracteres do agente do usuário neste exemplo está mostrando que a Extensão Microsoft SSO é o aplicativo que processa essa solicitação. Um indicador útil de que a extensão SSO está sendo usada e a solicitação de autenticação do corretor está ocorrendo.
Biblioteca de autenticação do aplicativo Microsoft Entra Quando um aplicativo MSAL está sendo usado, os detalhes da biblioteca e da plataforma são escritos aqui.
Informações sobre o escopo do Oauth As informações de escopo Oauth2 solicitadas para o token de acesso. (User.Read, perfil, openid, e-mail).
MSAL Nativo: 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 API do Microsoft Graph . A extensão 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.

A amostra de registro pode ser dividida em dois segmentos:

Segmento Description
refresh O Broker lida com a solicitação do Microsoft Entra ID:
- Manipulando a solicitação SSO silenciosa...: Indica uma solicitação silenciosa
- correlation_id: Útil para referência cruzada com os logs de entrada do servidor do Microsoft Entra
- escopo: escopo de permissão da API User.Read sendo solicitado do Microsoft Graph
- client_version: versão do MSAL que o aplicativo está executando
- redirect_uri: Os aplicativos MSAL usam o formato msauth.com.<Bundle ID>://auth

A atualização tem diferenças notáveis em relação à carga útil da solicitação:
- authority: contém o ponto de extremidade de URL do locatário do Microsoft Entra em oposição ao ponto de extremidade comum
- home_account_id: Mostrar a conta de usuário no formato <UserObjectId>.<ID do locatário>
- nome de usuário: formato UPN hashed auth.placeholder-XXXXXXXX__domainname.com
PRT Atualizar e adquirir token de acesso Esta operação revalida o PRT e atualiza-o, se necessário, antes de retornar o token de acesso de volta ao aplicativo cliente chamador.

Podemos novamente pegar a Id de correlação obtida dos logs de Extensão SSO do lado do cliente e fazer referência cruzada com os logs de entrada do Microsoft Entra do lado do servidor.

Captura de tela mostrando a solicitação de entrada silenciosa do Microsoft Entra usando o plug-in Enterprise SSO Broker.

O Microsoft Entra Sign-in mostra informações idênticas ao recurso Microsoft Graph da operação de login na seção de logon interativo anterior.

Fluxo de login do aplicativo SSO não-MSAL/Browser

A seção a seguir explica como examinar os logs de extensão SSO para o fluxo de autenticação do aplicativo não-MSAL/Browser. Para este exemplo, estamos usando o navegador Apple Safari como o aplicativo cliente e o aplicativo está fazendo uma chamada para o aplicativo Web Office.com (OfficeHome).

Passo a passo do fluxo SSO não-MSAL/Browser

As seguintes ações devem ocorrer para um logon bem-sucedido:

  1. Suponha que o usuário que já passou pelo processo de inicialização tenha um PRT existente.
  2. Em um dispositivo, com o Microsoft SSO Extension Broker implantado, os sinalizadores de recursos configurados são verificados para garantir que o aplicativo possa ser manipulado pela Extensão SSO.
  3. Como o navegador Safari adere ao Apple Networking Stack, a extensão SSO tenta intercetar a solicitação de autenticação do Microsoft Entra.
  4. O PRT é usado para adquirir um token para o recurso que está sendo solicitado.
  5. Se o dispositivo estiver registado no Microsoft Entra, passa o ID do Dispositivo juntamente com o pedido.
  6. A extensão SSO preenche o cabeçalho da solicitação do navegador para entrar no recurso.

Os seguintes logs de extensão de SSO do lado do cliente 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 de log de extensão SSO Description
Solicitação de SSO do navegador criada Todas as solicitações de SSO não-MSAL/Browser começam com esta linha:
- identificador do pacote: ID do pacote: com.apple.Safari
- iniciando a origem: URL da Web que o navegador está acessando antes de bater em uma das URLs de login 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 PRT 1, dispositivo registado 1
ID de correlação [SSO do navegador] Processamento de solicitação com PRTs e ID de correlação em cabeçalhos (nulo), consulta CorrelationID>.< Essa ID é importante para referência cruzada com os logs de entrada do servidor do Microsoft Entra
Registo de Dispositivos Opcionalmente, se o dispositivo estiver registrado no Microsoft Entra, a extensão SSO pode passar o cabeçalho do dispositivo em solicitações SSO do navegador:
- Encontrado registro registrado em
- login.microsoftonline.com, isSameAsRequestEnvironment: Sim

Passando o cabeçalho do dispositivo no SSO do navegador para ID do dispositivo 43cfaf69-0f94-4d2e-a815-c103226c4c04

Em seguida, use a ID de correlação obtida dos logs de extensão SSO do navegador para fazer referência cruzada aos logs de entrada do Microsoft Entra.

Captura de ecrã a mostrar a referência cruzada nos registos de início de sessão do Microsoft Entra para a Extensão SSO do Browser.

Atributo de log de entrada Description
Aplicação Nome para exibição do registro do aplicativo no locatário do Microsoft Entra onde o aplicativo cliente é autenticado. Neste exemplo, o nome para exibição é OfficeHome.
ID do aplicativo Também referido ao ClientID do registo da aplicação no inquilino do Microsoft Entra.
Recurso O recurso de 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 (Primary Refresh Token) mostra o token de entrada que está sendo usado para obter um token de acesso para o recurso.
Método de autenticação detetado Na guia Detalhes de autenticação, o valor do plug-in SSO do Microsoft Entra é um indicador útil de que a extensão SSO está sendo usada para facilitar a solicitação de SSO do navegador
Versão da extensão Microsoft Entra SSO Na guia Detalhes Adicionais, esse valor mostra a versão do aplicativo Microsoft Enterprise SSO extension Broker.
ID do Dispositivo Se o dispositivo estiver registrado, a extensão SSO poderá passar o ID do dispositivo para lidar com solicitações de autenticação do dispositivo.
Sistema operativo Mostra o tipo de sistema operacional.
Compatibilidade: A extensão SSO pode facilitar as políticas de conformidade passando o cabeçalho do dispositivo. Os requisitos são:
- Registro de dispositivo Microsoft Entra
- Gestão de MDM
- Conformidade do Intune ou do Parceiro do Intune
Geridas Indica que o dispositivo está sob gerenciamento.
Tipo de Adesão macOS e iOS, se registrados, só podem ser do tipo: Microsoft Entra registrado.

Gorjeta

Se você usa o Jamf Connect, é recomendável seguir as orientações mais recentes do Jamf sobre a integração do 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 Proteção de ID do Microsoft Entra.

Próximos passos