Como habilitar aplicativos cliente nativos para interagir com aplicativos proxy

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

Para oferecer 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. Esta solução não usa tokens de aplicativo para autenticação.

Relação entre usuários finais, ID do Microsoft Entra e aplicativos publicados

Para publicar aplicativos nativos, use a Biblioteca de Autenticação da Microsoft, que cuida da autenticação e oferece suporte a muitos ambientes cliente. O proxy de aplicativo se encaixa no aplicativo da área de trabalho que chama uma API da Web em nome de um cenário de usuário conectado.

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

Etapa 1: Publicar seu aplicativo proxy

Publique seu aplicativo proxy como faria com qualquer outro aplicativo e atribua usuários para acessar seu aplicativo. Para obter mais informações, consulte Publicar aplicativos com 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 pelo menos um Administrador de Aplicativos.

  2. Selecione seu nome de usuário no canto superior direito. Verifique se você está conectado a um diretório que usa proxy de aplicativo. Se você precisar alterar diretórios, selecione Alternar diretório e escolha um diretório que use proxy de aplicativo.

  3. Navegue até Registros do aplicativo Identity>Applications>. A lista de todos os registros de aplicativos é exibida.

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

    Criar um novo registo de aplicação no centro de administração do Microsoft Entra

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

  6. No cabeçalho Tipos de conta suportados, selecione um nível de acesso usando estas diretrizes.

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

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

Para obter informações mais detalhadas sobre como criar um novo registro de aplicativo, consulte Integrando aplicativos com o Microsoft Entra ID.

Etapa 3: Conceder acesso ao seu aplicativo proxy

Seu aplicativo nativo está registrado. Dê-lhe acesso ao aplicativo proxy:

  1. Na barra lateral da página de registro do novo aplicativo, selecione Permissões da API. A página de permissões da API para o novo registro do aplicativo é exibida.
  2. Selecione Adicionar uma permissão. A página Solicitar permissões da API é exibida.
  3. Na configuração Selecionar uma API , selecione APIs que minha organização usa. Uma lista é exibida, contendo os aplicativos em seu diretório que expõem APIs.
  4. Digite na caixa de pesquisa ou role para localizar o aplicativo proxy que você publicou na Etapa 1: Publicar seu aplicativo proxy e selecione o aplicativo proxy.
  5. No cabeçalho Que tipo de permissões seu aplicativo exige?, selecione o tipo de permissão. Se seu aplicativo nativo precisar acessar a API do aplicativo proxy como o usuário conectado, escolha Permissões delegadas.
  6. No cabeçalho Selecionar permissões, selecione a permissão desejada e selecione Adicionar permissões. A página de permissões da 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 ao seu código (exemplo .NET C#)

Edite o código do aplicativo nativo no contexto de autenticação da Microsoft Authentication Library (MSAL) 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 Inquilino> Propriedades de visão geral>da identidade>
<ID do aplicativo nativo> Registro de>aplicativo seu aplicativo>nativo Visão geral>ID do aplicativo
<Scope> Registro de>aplicativo: suas permissões> de API de aplicativo>nativa selecione na API de permissão (user_impersonation) > Um painel com a legenda user_impersonation aparece no lado direito. > O escopo é a URL na caixa de edição.
<URL do aplicativo 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 se autenticar em aplicativos cliente nativos mesmo quando estão fora da rede corporativa.

Próximos passos

Para obter mais informações sobre o fluxo de aplicativos nativos, consulte aplicativos móveis e de desktop no Microsoft Entra ID.

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