Publicar aplicativos usando a Pré-autenticação do AD FS

Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016

Este conteúdo é relevante para a versão local do Proxy de aplicativo Web. Para habilitar o acesso seguro a aplicativos locais pela nuvem, consulte o Conteúdo de Proxy de aplicativo do Microsoft Entra.

Este tópico descreve como publicar aplicativos por meio de Proxy de Aplicativo Web usando a pré-autenticação de Serviços de Federação do Active Directory (AD FS).

Para todos os tipos de aplicativo que você pode publicar usando a pré-autenticação do AD FS, é necessário adicionar um objeto de confiança de terceira parte confiável do AD FS ao Serviço de Federação.

O fluxo geral de pré-autenticação do AD FS é o seguinte:

Observação

Esse fluxo de autenticação não é aplicável para clientes que usam aplicativos da Microsoft Store.

  1. O dispositivo cliente tenta acessar um aplicativo Web publicado em uma URL de recurso específica, por exemplo, https://app1.contoso.com/.

    A URL de recurso é um endereço público em que o Proxy de Aplicativo Web recebe as solicitações de HTTPS de entrada.

    Se o redirecionamento http para HTTPS estiver habilitado, o Proxy de Aplicativo Web também escutará solicitações HTTP de entrada.

  2. O Proxy de Aplicativo Web redireciona a solicitação de HTTPS para o servidor AD FS com os parâmetros codificados da URL, incluindo a URL de recursos e o appRealm (um identificador de terceira parte confiável).

    O usuário autentica usando o método de autenticação requerido pelo servidor AD FS; por exemplo, nome de usuário e senha, autenticação de dois fatores com uma senha de uso único, e assim por diante.

  3. Após a autenticação do usuário, o servidor AD FS emite um token de segurança, o "token de borda", contendo as seguintes informações e redireciona a solicitação HTTPS de volta para o servidor Proxy de Aplicativo Web:

    • O identificador de recurso que o usuário tentou acessar.

    • A identidade do usuário como um nome UPN.

    • A expiração da aprovação de concessão de acesso; isto é, é concedido acesso ao usuário por um período de tempo limitado, após o qual é exigido que eles se autentiquem novamente.

    • Assinatura das informações no token de borda.

  4. O Proxy de Aplicativo Web recebe a solicitação HTTPS redirecionada do servidor AD FS com o token de borda e valida e usa o token da seguinte forma:

    • Valida que a assinatura do token de borda é proveniente do serviço de federação que está definido na configuração do Proxy de Aplicativo Web.

    • Valida que o token foi emitido para o aplicativo correto.

    • Valida que o token não expirou.

    • Usa a identidade do usuário quando necessário; por exemplo, para obter um tíquete de Kerberos se o servidor de back-end estiver configurado para usar a autenticação integrada do Windows.

  5. Se o token de borda for válido, o Proxy de Aplicativo Web encaminhará a solicitação HTTPS ao Aplicativo Web publicado usando HTTP ou HTTPS.

  6. O cliente agora tem acesso ao aplicativo Web publicado; no entanto, o aplicativo publicado pode estar configurado para exigir que o usuário execute autenticação adicional. Se, por exemplo, o aplicativo Web publicado for um site do SharePoint e não exigir autenticação adicional, o usuário verá o site do SharePoint no navegador.

  7. O Proxy de Aplicativo Web salva um cookie no dispositivo cliente. O cookie é usado pelo Proxy de Aplicativo Web para identificar que essa sessão já foi pré-autenticada e que nenhuma pré-autenticação adicional é necessária.

Importante

Ao configurar a URL externa e a URL do servidor de back-end, você deve incluir o nome de domínio totalmente qualificado (FQDN), e não um endereço IP.

Observação

Este tópico inclui cmdlets do Windows PowerShell de exemplo que podem ser usados para automatizar alguns dos procedimentos descritos. Para obter mais informações, confira Usando os Cmdlets.

Publicar um aplicativo baseado em declarações para clientes do navegador da Web

Para publicar um aplicativo que usa declarações para autenticação, você deve adicionar ao Serviço de Federação um objeto de confiança de terceira parte confiável para o aplicativo.

Ao publicar aplicativos baseados em declarações e acessar o aplicativo de um navegador, o fluxo geral de autenticação será o seguinte:

  1. O cliente tenta acessar um aplicativo baseado em declarações usando um navegador da Web; por exemplo, https://appserver.contoso.com/claimapp/.

  2. O navegador da Web envia uma solicitação HTTPS ao servidor Proxy de Aplicativo Web que redireciona a solicitação ao servidor AD FS.

  3. O servidor AD FS autentica o usuário e o dispositivo e redireciona a solicitação de volta ao Proxy de Aplicativo Web. A solicitação agora contém o token de borda. O servidor AD FS adiciona um cookie de SSO (logon único) para a solicitação, pois o usuário já executou a autenticação em relação ao servidor AD FS.

  4. O Proxy de Aplicativo Web valida o token, adiciona seu próprio cookie e encaminha a solicitação ao servidor de back-end.

  5. O servidor de back-end redireciona a solicitação ao servidor AD FS para obter o token de segurança do aplicativo.

  6. A solicitação é redirecionada ao servidor de back-end pelo servidor AD FS. A solicitação agora contém o token de aplicativo e o cookie de SSO. O usuário recebe permissão para acessar o aplicativo e não é necessário que digite um nome de usuário ou uma senha.

Este procedimento descreve como publicar um aplicativo baseado em declarações, como um site do SharePoint, que será acessado por clientes do navegador da Web. Antes de começar, certifique-se de que você tenha feito o seguinte:

  • Criado um objeto de confiança de terceira parte confiável para o aplicativo no Console de gerenciamento do AD FS.

  • Verificado que um certificado no servidor Proxy de Aplicativo Web é apropriado para o aplicativo que você deseja publicar.

Para publicar um aplicativo baseado em declarações

  1. No servidor Proxy de Aplicativo Web, no console de Gerenciamento de Acesso Remoto, no painel de Navegação, clique em Proxy de Aplicativo Web, depois, no painel Tarefas, clique em Publicar.

  2. No Assistente para Publicar Novo Aplicativo, na página de Boas-vindas, clique em Avançar.

  3. Na página Pré-autenticação, selecione Serviços de Federação do Active Directory (AD FS) e clique em Avançar.

  4. Na página Clientes com Suporte selecione Web e MSOFBA, e, em seguida, clique em Avançar.

  5. Na página Terceira Parte Confiável, na lista de terceiras partes confiáveis, selecione a terceira parte confiável para o aplicativo que pretende publicar e clique em Avançar.

  6. Na página Configurações de publicação, faça o seguinte e clique em Avançar:

    • Na caixa Nome, digite um nome amigável para o aplicativo.

      Esse nome é usado apenas na lista de aplicativos publicados no console de Gerenciamento de Acesso Remoto.

    • Na caixa URL Externa, insira a URL externa para esse aplicativo; por exemplo, https://sp.contoso.com/app1/.

    • Na lista Certificado externo, selecione um certificado cujo assunto abranja a URL externa.

    • Na caixa URL do servidor de back-end, digite a URL do servidor de back-end. Observe que esse valor é automaticamente inserido quando você insere a URL externa e você deve alterá-lo somente se a URL do servidor de back-end for diferente; por exemplo, https://sp/app1/.

      Observação

      O Proxy de Aplicativo Web pode converter nomes de host em URLs, mas não pode converter nomes de caminho. Portanto, você pode inserir nomes de host diferentes, mas deve inserir o mesmo nome de caminho. Por exemplo, você pode inserir uma URL externa de https://apps.contoso.com/app1/ e um URL de servidor de back-end de https://app-server/app1/. Porém, você não pode inserir uma URL externa de https://apps.contoso.com/app1/ e uma URL de servidor de back-end de https://apps.contoso.com/internal-app1/.

  7. Na página Confirmação, examine as configurações e clique em Publicar. É possível copiar o comando do PowerShell para configurar aplicativos publicados adicionais.

  8. Na página Resultados, verifique se o aplicativo foi publicado com êxito e clique em Fechar.

Comandos equivalentes do Windows PowerShell

O seguinte cmdlet ou cmdlets do Windows PowerShell executam a mesma função que o procedimento anterior. Insira cada cmdlet em uma única linha, mesmo que possa aparecer quebra em várias linhas aqui devido a restrições de formatação.

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://sp.contoso.com/app1/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://sp.contoso.com/app1/'
    -Name 'SP'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'SP_Relying_Party'

Publicar um aplicativo com base em autenticação integrada do Windows para clientes de navegador da Web

O Proxy de Aplicativo Web pode ser usado para publicar aplicativos que usam autenticação do Windows integrada; isto é, o Proxy de Aplicativo Web executa a pré-autenticação conforme necessário e, em seguida, pode executar o SSO para o aplicativo publicado que usa autenticação do Windows integrada. Para publicar um aplicativo que usa autenticação integrada do Windows, você deve adicionar ao Serviço de Federação um objeto de confiança de terceira parte confiável sem reconhecimento de declarações para o aplicativo.

Para permitir que o Proxy de Aplicativo Web faça SSO (logon único) e execute a delegação de credenciais usando a delegação restrita de Kerberos, o servidor Proxy de Aplicativo Web deve ser ingressado em um domínio. Confira Planejar o Active Directory.

Para permitir que os usuários acessem aplicativos que usam a autenticação do Windows integrada, o servidor Proxy de Aplicativo Web deve conseguir fornecer representação para os usuários para o aplicativo publicado. Você pode fazer isso no controlador de domínio de qualquer aplicativo. Você também poderá fazer isso no servidor de back-end se ele estiver em execução no Windows Server 2012 R2 ou no Windows Server 2012 . Para obter mais informações, consulte Novidades na autenticação Kerberos.

Para um passo a passo de como configurar o Proxy de Aplicativo Web para publicar um aplicativo usando a autenticação do Windows integrada, confira Como configurar um site para usar a autenticação do Windows integrada.

Ao usar a autenticação do Windows integrada para servidores back-end, a autenticação entre o Proxy de Aplicativo Web e o aplicativo publicado não é baseada em declarações, mas usa antes a delegação restrita de Kerberos para autenticar usuários finais no aplicativo. O fluxo geral é descrito abaixo:

  1. O cliente tenta acessar um aplicativo não baseado em declarações usando um navegador da Web; por exemplo, https://appserver.contoso.com/nonclaimapp/.

  2. O navegador da Web envia uma solicitação HTTPS ao servidor Proxy de Aplicativo Web que redireciona a solicitação ao servidor AD FS.

  3. O servidor do AD FS autentica o usuário e redireciona a solicitação de volta para o Proxy de Aplicativo Web. A solicitação agora contém o token de borda.

  4. O Proxy de Aplicativo Web valida o token.

  5. Se o token for válido, o Proxy de Aplicativo Web obterá um tíquete de Kerberos do controlador de domínio em nome do usuário.

  6. O Proxy de Aplicativo Web adiciona o tíquete de Kerberos à solicitação como parte do token SPNEGO (Simple and Protected GSS-API Negotiation Mechanism, Mecanismo de Negociação GSS-API Simples e Protegido) e encaminha a solicitação ao servidor de back-end. A solicitação contém o tíquete de Kerberos; portanto, o usuário ter permissão para acessar o aplicativo sem necessidade de autenticação adicional.

Este procedimento descreve como publicar um aplicativo que usa a autenticação integrada do Windows, como o Outlook Web App, que será acessado por clientes do navegador da Web. Antes de começar, certifique-se de que você tenha feito o seguinte:

  • Criado um objeto de confiança de terceira parte confiável sem reconhecimento de declarações para o aplicativo no Console de gerenciamento do AD FS.

  • Configurado o servidor de back-end para dar suporte à delegação restrita de Kerberos no controlador de domínio ou usando o cmdlet Set-ADUser com o parâmetro -PrincipalsAllowedToDelegateToAccount. Observe que, se o servidor back-end estiver em execução no Windows Server 2012 R2 ou Windows Server 2012, você também poderá executar esse comando do PowerShell no servidor back-end.

  • Os servidores de Proxy de Aplicativo Web devem estar configurados para delegação aos nomes da entidade de serviço dos servidores back-end.

  • Verificado que um certificado no servidor Proxy de Aplicativo Web é apropriado para o aplicativo que você deseja publicar.

Para publicar um aplicativo que não é baseado em declarações

  1. No servidor Proxy de Aplicativo Web, no console de Gerenciamento de Acesso Remoto, no painel de Navegação, clique em Proxy de Aplicativo Web, depois, no painel Tarefas, clique em Publicar.

  2. No Assistente para Publicar Novo Aplicativo, na página de Boas-vindas, clique em Avançar.

  3. Na página Pré-autenticação, selecione Serviços de Federação do Active Directory (AD FS) e clique em Avançar.

  4. Na página Clientes com Suporte selecione Web e MSOFBA, e, em seguida, clique em Avançar.

  5. Na página Terceira Parte Confiável, na lista de terceiras partes confiáveis, selecione a terceira parte confiável para o aplicativo que pretende publicar e clique em Avançar.

  6. Na página Configurações de publicação, faça o seguinte e clique em Avançar:

    • Na caixa Nome, digite um nome amigável para o aplicativo.

      Esse nome é usado apenas na lista de aplicativos publicados no console de Gerenciamento de Acesso Remoto.

    • Na caixa URL Externa, insira a URL externa para esse aplicativo; por exemplo, https://owa.contoso.com/.

    • Na lista Certificado externo, selecione um certificado cujo assunto abranja a URL externa.

    • Na caixa URL do servidor de back-end, digite a URL do servidor de back-end. Observe que esse valor é automaticamente inserido quando você insere a URL externa e você deve alterá-lo somente se a URL do servidor de back-end for diferente; por exemplo, https://owa/.

      Observação

      O Proxy de Aplicativo Web pode converter nomes de host em URLs, mas não pode converter nomes de caminho. Portanto, você pode inserir nomes de host diferentes, mas deve inserir o mesmo nome de caminho. Por exemplo, você pode inserir uma URL externa de https://apps.contoso.com/app1/ e um URL de servidor de back-end de https://app-server/app1/. Porém, você não pode inserir uma URL externa de https://apps.contoso.com/app1/ e uma URL de servidor de back-end de https://apps.contoso.com/internal-app1/.

    • Na caixa SPN do servidor de back-end, insira o nome da entidade de serviço para o servidor de back-end; por exemplo, HTTP/owa.contoso.com.

  7. Na página Confirmação, examine as configurações e clique em Publicar. É possível copiar o comando do PowerShell para configurar aplicativos publicados adicionais.

  8. Na página Resultados, verifique se o aplicativo foi publicado com êxito e clique em Fechar.

Comandos equivalentes do Windows PowerShell

O seguinte cmdlet ou cmdlets do Windows PowerShell executam a mesma função que o procedimento anterior. Insira cada cmdlet em uma única linha, mesmo que possa aparecer quebra em várias linhas aqui devido a restrições de formatação.

Add-WebApplicationProxyApplication
    -BackendServerAuthenticationSpn 'HTTP/owa.contoso.com'
    -BackendServerURL 'https://owa.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://owa.contoso.com/'
    -Name 'OWA'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Non-Claims_Relying_Party'

Publicar um aplicativo que usa MS-OFBA

O Proxy de Aplicativo Web dá suporte ao acesso de clientes do Microsoft Office, como o Microsoft Word que acessa documentos e dados nos servidores de back-end. A única diferença entre esses aplicativos e um navegador padrão é que o redirecionamento para o STS é feito não pelo redirecionamento HTTP regular, mas com cabeçalhos MS-OFBA especiais, conforme especificado: https://msdn.microsoft.com/library/dd773463(v=office.12).aspx. O aplicativo de back-end pode ser declarações ou IWA. Para publicar um aplicativo para clientes que usam MS-OFBA, você deve adicionar um objeto de confiança de terceira parte confiável do aplicativo ao Serviço de Federação. Dependendo do aplicativo, você pode usar autenticação baseada em declarações ou autenticação integrada do Windows. Portanto, você deve adicionar o objeto de confiança de terceira parte confiável relevante, dependendo do aplicativo.

Para permitir que o Proxy de Aplicativo Web faça SSO (logon único) e execute a delegação de credenciais usando a delegação restrita de Kerberos, o servidor Proxy de Aplicativo Web deve ser ingressado em um domínio. Confira Planejar o Active Directory.

Não há etapas de planejamento adicionais se o aplicativo usar autenticação baseada em declarações. Se o aplicativo usou Autenticação do Windows Integrado, confira Publicar um aplicativo integrado baseado em autenticação do Windows para clientes do navegador da Web.

O fluxo de autenticação para clientes que usam o protocolo MS-OFBA usando a autenticação baseada em declarações é descrito abaixo. A autenticação para esse cenário pode usar o token do aplicativo na URL, ou no corpo.

  1. O usuário está trabalhando em um programa do Office e, na lista Documentos Recentes, abre um arquivo em um site do SharePoint.

  2. O programa do Office mostra uma janela com um controle de navegador que exige que o usuário insira credenciais.

    Observação

    Em alguns casos, a janela pode não aparecer porque o cliente já está autenticado.

  3. O Proxy de Aplicativo Web redireciona a solicitação para o servidor do AD FS, que executa a autenticação.

  4. O servidor do AD FS redireciona a solicitação de volta para o Proxy de Aplicativo Web. A solicitação agora contém o token de borda.

  5. O servidor AD FS adiciona um cookie de SSO (logon único) para a solicitação, pois o usuário já executou a autenticação em relação ao servidor AD FS.

  6. O Proxy de Aplicativo Web valida o token e encaminha a solicitação para o servidor de back-end.

  7. O servidor de back-end redireciona a solicitação ao servidor AD FS para obter o token de segurança do aplicativo.

  8. A solicitação é redirecionada ao servidor de back-end. A solicitação agora contém o token de aplicativo e o cookie de SSO. O usuário tem permissão para acessar ao site do SharePoint e não é necessário que ele insira um nome de usuário ou uma senha para exibir o arquivo.

As etapas para publicar um aplicativo que usa MS-OFBA são idênticas às etapas de um aplicativo baseado em declarações ou um aplicativo não baseado em declarações. Para aplicativos baseados em declarações, confira Publicar um aplicativo baseado em declarações para clientes de navegador da Web; para aplicativos não baseados em declarações, confira Publicar um aplicativo integrado baseado em autenticação do Windows para clientes do Navegador da Web. O Proxy de Aplicativo Web detecta automaticamente o cliente e autenticará o usuário conforme necessário.

Publicar um aplicativo que usa HTTP Basic

HTTP Básico é o protocolo de autorização usado por muitos protocolos, para conectar clientes avançados, incluindo smartphones, com a caixa de correio do Exchange. Para mais informações sobre HTTP Basic, confira RFC 2617. O Proxy de Aplicativo Web tradicionalmente interage com o AD FS usando redirecionamentos; a maioria dos clientes avançados não dá suporte a cookies ou gerenciamento de estado. Dessa forma, o Proxy de Aplicativo Web permite que o aplicativo HTTP receba um objeto de confiança de terceira parte confiável não de declarações para o aplicativo para o Serviço de Federação. Confira Planejar o Active Directory.

O fluxo de autenticação para clientes que usam HTTP Basic é descrito abaixo e neste diagrama:

Authentication diagram for HTTP Basic

  1. O usuário tenta acessar um aplicativo Web publicado em um cliente de telefone.

  2. O aplicativo envia uma solicitação HTTPS para a URL publicada pelo Proxy de Aplicativo Web.

  3. Se a solicitação não contiver credenciais, o Proxy de Aplicativo Web retornará uma resposta HTTP 401 ao aplicativo que contém a URL do servidor do AD FS de autenticação.

  4. O usuário envia a solicitação HTTPS para o aplicativo novamente com autorização definida como Básico e nome de usuário e senha criptografada de Base 64 do usuário no cabeçalho da solicitação www-authenticate.

  5. Como o dispositivo não pode ser redirecionado para o AD FS, o Proxy de Aplicativo Web envia uma solicitação de autenticação ao AD FS com as credenciais que ele tem, incluindo nome de usuário e senha. O token é adquirido em nome do dispositivo.

  6. Para minimizar o número de solicitações enviadas ao AD FS, o Proxy de Aplicativo Web valida as solicitações de cliente subsequentes usando tokens armazenados em cache, desde que o token seja válido. O Proxy de Aplicativo Web limpa periodicamente o cache. Você pode exibir o tamanho do cache usando o contador de desempenho.

  7. Se o token for válido, o Proxy de Aplicativo Web encaminhará a solicitação para o servidor de back-end e o usuário receberá acesso ao Aplicativo Web publicado.

O procedimento a seguir explica como publicar aplicativos básicos HTTP.

Para publicar um aplicativo básico HTTP

  1. No servidor Proxy de Aplicativo Web, no console de Gerenciamento de Acesso Remoto, no painel de Navegação, clique em Proxy de Aplicativo Web, depois, no painel Tarefas, clique em Publicar.

  2. No Assistente para Publicar Novo Aplicativo, na página de Boas-vindas, clique em Avançar.

  3. Na página Pré-autenticação, selecione Serviços de Federação do Active Directory (AD FS) e clique em Avançar.

  4. Na página Clientes com Suporte, selecione HTTP Básico e clique em Avançar.

    Se você quiser habilitar o acesso ao Exchange somente de dispositivos ingressados no local de trabalho, selecione a caixa Habilitar acesso somente para dispositivos ingressados no local de trabalho. Para mais informações, confira Join to Workplace from Any Device for SSO and Seamless Second Factor Authentication Across Company Applications (Ingressar no local de trabalho de qualquer dispositivo para logon único e autenticação de dois fatores contínua entre aplicativos empresariais).

  5. Na página Terceira Parte Confiável, na lista de terceiras partes confiáveis, selecione a terceira parte confiável para o aplicativo que pretende publicar e clique em Avançar. Observe que essa lista contém apenas partes confiáveis de declarações.

  6. Na página Configurações de publicação, faça o seguinte e clique em Avançar:

    • Na caixa Nome, digite um nome amigável para o aplicativo.

      Esse nome é usado apenas na lista de aplicativos publicados no console de Gerenciamento de Acesso Remoto.

    • Na caixa URL externa, insira a URL externa para esse aplicativo; por exemplo, mail.contoso.com

    • Na lista Certificado externo, selecione um certificado cujo assunto abranja a URL externa.

    • Na caixa URL do servidor de back-end, digite a URL do servidor de back-end. Observe que esse valor é automaticamente inserido quando você insere a URL externa e você deve alterá-lo somente se a URL do servidor de back-end for diferente; por exemplo, mail.contoso.com.

  7. Na página Confirmação, examine as configurações e clique em Publicar. É possível copiar o comando do PowerShell para configurar aplicativos publicados adicionais.

  8. Na página Resultados, verifique se o aplicativo foi publicado com êxito e clique em Fechar.

Comandos equivalentes do Windows PowerShell

O seguinte cmdlet ou cmdlets do Windows PowerShell executam a mesma função que o procedimento anterior. Insira cada cmdlet em uma única linha, mesmo que possa aparecer quebra em várias linhas aqui devido a restrições de formatação.

Esse script do Windows PowerShell permite a pré-autenticação para todos os dispositivos, não apenas dispositivos ingressados no local de trabalho.

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

Os seguintes pré-autentica somente dispositivos ingressados no local de trabalho:

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -EnableHTTPRedirect:$true
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

Publicar um aplicativo que usa OAuth2, como um Aplicativo da Microsoft Store

Para publicar um aplicativo para aplicativos da Microsoft Store, você deve adicionar ao Serviço de Federação um objeto de confiança de terceira parte confiável para o aplicativo.

Para permitir que o Proxy de Aplicativo Web faça SSO (logon único) e execute a delegação de credenciais usando a delegação restrita de Kerberos, o servidor Proxy de Aplicativo Web deve ser ingressado em um domínio. Confira Planejar o Active Directory.

Observação

O Proxy de Aplicativo Web dá suporte à publicação apenas para aplicativos da Microsoft Store que usam o protocolo OAuth 2.0.

No console de Gerenciamento do AD FS, você deve verificar se o ponto de extremidade OAuth está habilitado para proxy. Para verificar se o ponto de extremidade OAuth está habilitado para proxy, abra o console de Gerenciamento do AD FS, expanda Serviço, clique em Pontos de Extremidade, na lista Pontos de Extremidade, localize o ponto de extremidade OAuth e verifique se o valor na coluna Habilitado para Proxy é Sim.

O fluxo de autenticação para clientes que usam aplicativos da Microsoft Store é descrito abaixo:

Observação

O Proxy de Aplicativo Web redireciona para o servidor do AD FS para autenticação. Como os aplicativos da Microsoft Store não oferecem suporte a redirecionamentos, se você usar aplicativos da Microsoft Store, é necessário definir a URL do servidor AD FS usando o cmdlet Set-WebApplicationProxyConfiguration e o parâmetro OAuthAuthenticationURL.

Os aplicativos da Microsoft Store só podem ser publicados usando o Windows PowerShell.

  1. O cliente tenta acessar um aplicativo Web publicado usando um aplicativo da Microsoft Store.

  2. O aplicativo envia uma solicitação HTTPS para a URL publicada pelo Proxy de Aplicativo Web.

  3. O Proxy de Aplicativo Web retorna resposta HTTP 401 para o aplicativo que contém a URL do servidor AD FS de autenticação. Esse processo é conhecido como descoberta.

    Observação

    Se o aplicativo souber a URL do servidor AD FS de autenticação e já tiver um token de combinação que contém o token OAuth e o token de borda, as etapas 2 e 3 são ignoradas neste fluxo de autenticação.

  4. O aplicativo envia uma solicitação HTTPS para o servidor AD FS.

  5. O aplicativo usa o agente de autenticação da Web para gerar uma caixa de diálogo em que o usuário insere credenciais para autenticar no servidor AD FS. Para obter informações sobre o agente de autenticação da Web, consulte Agente de autenticação da Web.

  6. Após a autenticação com êxito, o servidor AD FS cria um token de combinação que contém o token OAuth e o token de borda e envia o token para o aplicativo.

  7. O aplicativo envia uma solicitação HTTPS que contém o token de combinação para a URL publicada pelo Proxy de Aplicativo Web.

  8. O Proxy de Aplicativo Web divide o token de combinação em suas duas partes e valida o token de borda.

  9. Se o token de borda for válido, o Proxy de Aplicativo Web encaminhará a solicitação ao servidor de back-end apenas com o token OAuth. O usuário tem permissão para acessar o aplicativo Web publicado.

Este procedimento descreve como publicar um aplicativo para OAuth2. Esse tipo de aplicativo pode ser publicado usando apenas o Windows PowerShell. Antes de começar, certifique-se de que você tenha feito o seguinte:

  • Criado um objeto de confiança de terceira parte confiável para o aplicativo no Console de gerenciamento do AD FS.

  • Verificado se o ponto de extremidade OAuth está habilitado para proxy no console de Gerenciamento do AD FS e anotado o Caminho da URL.

  • Verificado que um certificado no servidor Proxy de Aplicativo Web é apropriado para o aplicativo que você deseja publicar.

Para publicar um aplicativo OAuth2

  1. No servidor Proxy de Aplicativo Web, no console de Gerenciamento de Acesso Remoto, no painel de Navegação, clique em Proxy de Aplicativo Web, depois, no painel Tarefas, clique em Publicar.

  2. No Assistente para Publicar Novo Aplicativo, na página de Boas-vindas, clique em Avançar.

  3. Na página Pré-autenticação, selecione Serviços de Federação do Active Directory (AD FS) e clique em Avançar.

  4. Na página Clientes com Suporte, selecione OAuth2 e clique em Avançar.

  5. Na página Terceira Parte Confiável, na lista de terceiras partes confiáveis, selecione a terceira parte confiável para o aplicativo que pretende publicar e clique em Avançar.

  6. Na página Configurações de publicação, faça o seguinte e clique em Avançar:

    • Na caixa Nome, digite um nome amigável para o aplicativo.

      Esse nome é usado apenas na lista de aplicativos publicados no console de Gerenciamento de Acesso Remoto.

    • Na caixa URL Externa, insira a URL externa para esse aplicativo; por exemplo, https://server1.contoso.com/app1/.

    • Na lista Certificado externo, selecione um certificado cujo assunto abranja a URL externa.

      Para garantir que os usuários possam acessar seu aplicativo, mesmo que eles não digitem HTTPS na URL, marque a caixa Habilitar Redirecionamento HTTP para HTTPS.

    • Na caixa URL do servidor de back-end, digite a URL do servidor de back-end. Observe que esse valor é automaticamente inserido quando você insere a URL externa e você deve alterá-lo somente se a URL do servidor de back-end for diferente; por exemplo, https://sp/app1/.

      Observação

      O Proxy de Aplicativo Web pode converter nomes de host em URLs, mas não pode converter nomes de caminho. Portanto, você pode inserir nomes de host diferentes, mas deve inserir o mesmo nome de caminho. Por exemplo, você pode inserir uma URL externa de https://apps.contoso.com/app1/ e um URL de servidor de back-end de https://app-server/app1/. Porém, você não pode inserir uma URL externa de https://apps.contoso.com/app1/ e uma URL de servidor de back-end de https://apps.contoso.com/internal-app1/.

  7. Na página Confirmação, examine as configurações e clique em Publicar. É possível copiar o comando do PowerShell para configurar aplicativos publicados adicionais.

  8. Na página Resultados, verifique se o aplicativo foi publicado com êxito e clique em Fechar.

Insira cada cmdlet em uma única linha, mesmo que possa aparecer quebra em várias linhas aqui devido a restrições de formatação.

Para definir a URL de autenticação OAuth para um endereço do servidor de federação de fs.contoso.com e um caminho de URL de /adfs/oauth2/:

Set-WebApplicationProxyConfiguration -OAuthAuthenticationURL 'https://fs.contoso.com/adfs/oauth2/'

Para publicar o aplicativo:

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://storeapp.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://storeapp.contoso.com/'
    -Name 'Microsoft Store app Server'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Store_app_Relying_Party'
    -UseOAuthAuthentication