Compartilhar via


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.

Relação entre usuários finais, ID do Microsoft Entra 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 pelo menos um Administrador de Aplicativos.

  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 você precisar alterar diretórios, selecione Alternar diretório e escolha um diretório que use o proxy de aplicativo.

  3. Navegue para Entra ID>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 de tipos de conta com suporte , selecione um nível de acesso usando essas diretrizes.

    • Para direcionar somente as contas internas à sua organização, selecione somente Contas neste diretório organizacional.
    • Para direcionar somente clientes corporativos 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 URI de Redirecionamento, selecione Cliente Público (móvel &área de trabalho) 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 de aplicativo é criada e exibida.

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

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 nova página de registro do aplicativo, selecione permissões de API. A página de permissões de API para o novo registro de aplicativo é exibida.
  2. Selecione Adicionar uma permissão. A página Solicitar permissões de API é exibida.
  3. Na configuração 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 na caixa de pesquisa ou role para localizar o aplicativo proxy que você publicou na Etapa 1: publicar seu aplicativo proxy e, em seguida, selecionar o aplicativo proxy.
  5. No título Que tipo de permissões o aplicativo requer? Selecione o tipo de permissão. Se o aplicativo nativo precisar acessar a API do aplicativo 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 de 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> Entra ID>Visão geral>Propriedades
<ID do aplicativo nativo> Registro de aplicativo>seu aplicativo> nativoVisã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 é o 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 em aplicativos na ID do Microsoft Entra.