Aplicativo de desktop que chama APIs Web: registro de aplicativo

Este artigo aborda as especificações de registro de aplicativo para um aplicativo de desktop.

Tipos de conta com suporte

Os tipos de conta com suporte em um aplicativo de desktop dependem da experiência que você deseja proporcionar. Devido a essa relação, os tipos de conta com suporte dependem dos fluxos que você deseja usar.

Público-alvo para aquisição de token interativo

Se o aplicativo de desktop usar autenticação interativa, você poderá conectar usuários de qualquer tipo de conta.

Público-alvo dos fluxos silenciosos de aplicativo de desktop

  • Para usar a autenticação integrada do Windows ou um nome de usuário e uma senha, o aplicativo precisa conectar usuários em um locatário próprio, por exemplo, se você for um desenvolvedor de linha de negócios (LOB). Ou, então, nas organizações do Microsoft Entra, o aplicativo precisa conectar usuários no seu locatário, caso ele seja um cenário de ISV. Esses fluxos de autenticação não são compatíveis com contas pessoais da Microsoft.
  • Se você conectar usuários com identidades sociais que passam por uma autoridade e política business-to-commerce (B2C), só poderá usar a autenticação interativa e de nome de usuário-senha.

URIs de redirecionamento

Os URIs de redirecionamento a serem usados em um aplicativo de desktop dependem do fluxo que você deseja usar.

Especifique o URI de redirecionamento para o seu aplicativo definindo as configurações da plataforma para o aplicativo em Registros de aplicativos no centro de administração do Microsoft Entra.

  • Nos aplicativos que usam WAM (Gerente de Autenticação Web), o redirecionamento de URIs deve ser configurado no registro do aplicativo em vez de configurado na MSAL.

  • Para aplicativos que usam autenticação interativa:

    • Aplicativos que usam navegadores incorporados: https://login.microsoftonline.com/common/oauth2/nativeclient (observação: se seu aplicativo abrir uma janela que normalmente não contém barra de endereço, ele está usando o "navegador incorporado").
    • Aplicativos que usam navegadores do sistema: http://localhost (observação: se seu aplicativo trouxer o navegador padrão do sistema (como Edge, Chrome, Firefox, etc). para visitar o portal de login da Microsoft, ele está usando o "navegador do sistema").

    Importante

    Como melhor prática de segurança, recomenda-se configurar explicitamente https://login.microsoftonline.com/common/oauth2/nativeclient ou http://localhost como o URI de redirecionamento. Algumas bibliotecas de autenticação como MSAL.NET usam um valor padrão de urn:ietf:wg:oauth:2.0:oob quando nenhum outro URI de redirecionamento é especificado, o que não é recomendado. Esse padrão será atualizado como uma alteração significativa na próxima versão principal.

  • Se você criar um aplicativo Objective-C ou Swift nativo para macOS, registre o URI de redirecionamento com base no identificador de pacote do seu aplicativo no seguinte formato: msauth.<your.app.bundle.id>://auth. Substitua <your.app.bundle.id> pelo identificador do pacote do seu aplicativo.

  • Se você criar um aplicativo de Node.js Electron, use um protocolo de arquivo personalizado em vez de um URI de redirecionamento da Web (https://) regular para lidar com a etapa de redirecionamento do fluxo de autorização, por exemplo msal{Your_Application/Client_Id}://auth (por exemplo, msalfa29b4c9-7675-4b61-8a0a-bf7b2b4fda91://auth). O nome do protocolo de arquivo personalizado não deve ser fácil de adivinhar e deve seguir as sugestões na Especificação OAuth2.0 para aplicativos nativos.

  • Se o aplicativo usar apenas a autenticação integrada do Windows ou um nome de usuário e uma senha, você não precisará registrar um URI de redirecionamento para seu aplicativo. Esses fluxos fazem uma viagem de ida e volta para o ponto de extremidade v2.0 da plataforma de identidade da Microsoft. O aplicativo não será chamado de volta em nenhum URI específico.

  • Para distinguir o fluxo de código do dispositivo, a autenticação integrada do Windows e um nome de usuário e uma senha de um aplicativo cliente confidencial usando um fluxo de credencial de cliente usado em aplicativos daemon, nenhum deles requer um URI de redirecionamento, configure-o como um aplicativo cliente público. Para alcançar essa configuração:

    1. No centro de administração do Microsoft Entra, selecione seu aplicativo em Registros de aplicativos e, em seguida, selecione Autenticação.

    2. Em Configurações avançadas>Permitir fluxos de cliente públicos>Habilitar os seguintes fluxos móveis e de desktop: , selecione Sim.

      Enable public client setting on Authentication pane in Azure portal

Permissões de API

Os aplicativos de desktop chamam as APIs para o usuário conectado. Eles precisam solicitar permissões delegadas. Eles não podem solicitar permissões de aplicativo, que são tratadas apenas em aplicativos daemon.

Próximas etapas

Vá para o próximo artigo neste cenário, Configuração de código do aplicativo.