terça-feira, 4 de março de 2014

WFM - Failed to query the Oauth S2S metadata endpoint: Possíveis causas do evento.

O evento "Failed to query the Oauth S2S metadata endpoint" ocorre normalmente no registro inicial do WFM (Workflow Manager), o motivo desse artigo é explicar as possíveis causas.

Causa 1 - O WFM é instalado em um servidor que faz parte do farm do SharePoint 2013. A comunicação entre SharePoint e o WFM ocorre usando HTTP.


Solução: Execute o comando Register-SPWorkflowService com o parâmetro –AllowOAuthHttp e -Force e verifique as configurações do Loopback Check, conforme artigo mencionado no final. 

Por exemplo: Register-SPWorkflowService -SPSite "http://intranet.contoso.com" -WorkflowHostUri "http://wfm.contoso.com:12291" –AllowOAuthHttp -Force

Causa 2 - O WFM é instalado em um servidor que faz parte do farm do SharePoint 2013. A comunicação entre SharePoint e o WFM ocorre usando HTTPS.


Solução: Instale os certificados do WFM conforme os seguintes passos (http://technet.microsoft.com/pt-br/library/jj658589(v=office.15).aspx) e verifique as configurações do Loopback Check conforme artigo mencionado no final.:

Para obter e exportar certificados do servidor do Gerenciador de Fluxos de Trabalho
1. Em um computador que tenha o Gerenciador de Fluxos de Trabalho instalado, selecione Gerenciador do IIS, Sites. Clique com o botão direito do mouse em Site de Gerenciamento de Fluxo de Trabalho e depois selecione Editar Ligações.
2. Selecione a porta https e depois Editar. Selecione o botão Exibir na seção Certificado SSL.
3. Para exportar um certificado do emissor, faça o seguinte:
a.) Na janela Certificado, selecione a guia Caminho de certificação.
b.) Selecione Caminho de certificação raiz e selecione Exibir.
c.) Na guia Detalhes, selecione Exportar Certificado, e escolha as opções padrão no assistente de exportação.
d.) Dê um nome amigável ao arquivo de certificado exportado.

Para instalar os certificados no SharePoint Server 2013
1. Copie o certificado do emissor o computador com o SharePoint Server 2013.
2. Adicione os certificados no repositório de certificados do Windows.
3. Para cada certificado, faça o seguinte:
a.) Clique duas vezes no arquivo para abrir e exibir o certificado.
b.) No certificado, selecione o botão Instalar Certificado para iniciar o assistente de instalação.
c.) No assistente, selecione Colocar todos os certificados no armazenamento a seguir e depois selecione Autoridades de Certificação Confiáveis.
4. Adicione os certificados no SharePoint Server indo ao Shell de Gerenciamento do SharePoint e executando o cmdlet New-SPTrustedRootAuthority. Faça isso para cada arquivo de certificado.

Por exemplo: New-SPTrustedRootAuthority -Name "Workflow Manager Farm" -Certificate c:\wfm.cer

Causa 3 - O WFM é instalado em um servidor que NÃO faz parte do farm do SharePoint 2013. A comunicação entre SharePoint e o WFM ocorre usando HTTPS.


Solução: Instale os certificados do WFM conforme a solução da causa 2.

Causa 4 - Eu percebi que algumas pessoas tentam a registrar o WFM (que é configurado para utilizar SSL na comunicação interna) no SharePoint em um web application que não é configurado para utilizar SSL sem o parâmetro –AllowOAuthHttp.


Isso não  pode funcionar, porque não faz diferença para o SharePoint se o seu farm do WFM utiliza SSL ou não, isso porque o endpoint (http://<serverfqdn>/_layouts/15/metadata/json/1) é parte do web application e não há como de se conectar a um web application usando SSL se não tem um certificado configurado e não está escutando na porta 443 (SSL).

Solução: Execute o comando Register-SPWorkflowService com o parâmetro –AllowOAuthHttp e -Force. OU configure o web application para o uso do HTTPS.

Referencias:

Workflow Manager - Failed to query the Oauth S2S metadata endpoint
SharePoint 2013 e OAuth - Uma visão geral
LoopbackCheck - O que você deveria saber
Install and configure workflow for SharePoint Server 2013
Register-SPWorkflowService

Nenhum comentário:

Postar um comentário