Como habilitar aplicativos cliente nativos para interagir com os aplicativos do proxy

O proxy de aplicativo do Microsoft Entra é usado para publicar aplicativos Web. Você também pode usá-lo para publicar aplicativos cliente nativos configurados com a MSAL (Biblioteca de Autenticação da Microsoft). Os aplicativos cliente diferem dos aplicativos Web porque eles são instalados em um dispositivo, enquanto os aplicativos Web são acessados por meio de um navegador.

Para dar suporte a aplicativos cliente nativos, o proxy de aplicativo aceita tokens emitidos pelo Microsoft Entra ID que são enviados no cabeçalho. O serviço de proxy de aplicativo faz a autenticação para os usuários. Essa solução não usa tokens de aplicativo para autenticação.

Relacionamento entre usuários finais, o Microsoft Entra ID e aplicativos publicados

Para publicar os aplicativos nativos, use a Biblioteca de Autenticação da Microsoft, que trata da autenticação e dá suporte a vários ambientes de cliente. O proxy do aplicativo se ajusta ao cenário do Aplicativo para desktop que chama a API Web em nome de um usuário conectado.

Este artigo explica as quatro etapas para publicar um aplicativo nativo com o proxy de aplicativo e a MSAL (Biblioteca de Autenticação da Microsoft).

Etapa 1: Publicar seu aplicativo de proxy

Publique seu aplicativo de proxy como faria com qualquer outro aplicativo e atribua aos usuários acesso a ele. Para saber mais, consulte Publicar aplicativos com o proxy de aplicativo.

Etapa 2: Registrar seu aplicativo nativo

Agora você precisa registrar seu aplicativo no Microsoft Entra ID.

  1. Entre no centro de administração do Microsoft Entra como, no mínimo, um Administrador de aAplicativos.

  2. Escolha o nome de usuário no canto superior direito. Verifique se você está conectado a um diretório que usa o proxy de aplicativo. Se for necessário alterar diretórios, escolha Mudar diretório e escolha um diretório que usa o proxy de aplicativo.

  3. Navegue até Identidade>Aplicativos>Registros do aplicativo. A lista de todos os registros de aplicativo é exibida.

  4. Selecione Novo registro. A página Registrar um aplicativo é exibida.

    Criar um novo registro de aplicativo no centro de administração do Microsoft Entra

  5. No título Nome, especifique um nome de exibição voltado para o usuário para seu aplicativo.

  6. No título Tipos de conta com suporte, selecione um nível de acesso usando estas diretrizes.

    • Para direcionar apenas para contas internas da organização, selecione Contas somente neste diretório organizacional.
    • Para direcionar apenas para clientes comerciais e educacionais, selecione Contas em qualquer diretório organizacional.
    • Para direcionar para o conjunto mais amplo de entidades da Microsoft, selecione Contas em qualquer diretório organizacional e contas pessoais da Microsoft.
  7. Em URI de redirecionamento, selecione Cliente público (dispositivo móvel e desktop) e digite o URI de redirecionamento https://login.microsoftonline.com/common/oauth2/nativeclient do seu aplicativo.

  8. Selecione e leia as Políticas da Plataforma da Microsoft e selecione Registrar. Uma página de visão geral para o novo registro de aplicativo é criada e exibida.

Para obter informações mais detalhadas sobre como criar um novo registro de aplicativo, consulte Como integrando aplicativos ao Microsoft Entra ID.

Etapa 3: Conceder acesso ao seu proxy de aplicativo

Seu aplicativo nativo está registrado. Dê a ele acesso ao aplicativo proxy:

  1. Na barra lateral da página de registro do novo aplicativo, selecione Permissões de API. A página Permissões de API do registro do novo aplicativo é exibida.
  2. Selecione Adicionar uma permissão. A página Solicitar permissões de API é exibida.
  3. Nas configurações de Selecionar uma API, selecione APIs que minha organização usa. É exibida uma lista com os aplicativos do seu diretório que expõem APIs.
  4. Digite a caixa de pesquisa ou role até encontrar o aplicativo que você publicou na Etapa 1: Publicar seu aplicativo de proxy e selecione o aplicativo de proxy.
  5. No título Que tipo de permissões seu aplicativo exige? , selecione o tipo de permissão. Se seu aplicativo nativo precisar acessar a API do aplicativo de proxy como o usuário conectado, escolha Permissões delegadas.
  6. No título Selecionar permissões, selecione a permissão desejada e selecione Adicionar permissões. A página Permissões de API para seu aplicativo nativo agora mostra o aplicativo proxy e a API de permissão que você adicionou.

Etapa 4: Adicionar a Biblioteca de Autenticação da Microsoft para seu código (exemplo de C# .NET)

Edite o código de aplicativo nativo no contexto de autenticação da MSAL (Biblioteca de Autenticação da Microsoft) para incluir o seguinte texto:

// Acquire access token from Microsoft Entra ID for proxy application
IPublicClientApplication clientApp = PublicClientApplicationBuilder
.Create(<App ID of the Native app>)
.WithDefaultRedirectUri() // will automatically use the default Uri for native app
.WithAuthority("https://login.microsoftonline.com/{<Tenant ID>}")
.Build();

AuthenticationResult authResult = null;
var accounts = await clientApp.GetAccountsAsync();
IAccount account = accounts.FirstOrDefault();

IEnumerable<string> scopes = new string[] {"<Scope>"};

try
 {
    authResult = await clientApp.AcquireTokenSilent(scopes, account).ExecuteAsync();
 }
    catch (MsalUiRequiredException ex)
 {
     authResult = await clientApp.AcquireTokenInteractive(scopes).ExecuteAsync();                
 }

if (authResult != null)
 {
  //Use the Access Token to access the Proxy Application

  HttpClient httpClient = new HttpClient();
  httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
  HttpResponseMessage response = await httpClient.GetAsync("<Proxy App Url>");
 }

As informações necessárias no código de exemplo podem ser encontradas no centro de administração do Microsoft Entra, da seguinte maneira:

Informações necessárias Como encontrá-lo no centro de administração do Microsoft Entra
<ID do Locatário> Identidade>Visão geral>Propriedades
<ID do aplicativo nativo> Registro de aplicativo>seu aplicativo nativo>Visão geral>ID do aplicativo
<Escopo> Registro do aplicativo>seu aplicativo nativo>Permissões da API> selecione na API de Permissão (user_impersonation) > Um painel com a legenda user_impersonation é exibido à direita. > O escopo da URL na caixa de edição.
<URL do aplicativo de proxy> a URL externa e o caminho para a API

Depois de editar o código MSAL com esses parâmetros, os usuários podem autenticar para aplicativos cliente nativos, mesmo quando eles estão fora da rede corporativa.

Próximas etapas

Para saber mais sobre o fluxo do aplicativo nativo, consulte aplicativos móveis e desktop no Microsoft Entra ID.

Saiba mais sobre como configurar o Logon único para aplicativos no Microsoft Entra ID.