Tempo aproximado para leitura: 00:02:00 min
Dúvida
Estou desenvolvendo uma aplicação que consome uma API do TOTVS Fluig Plataforma, mas, estou enfrentando o erro abaixo. Como resolver?
{
code: 'Internal Server Error',
success: false,
message: 'signature_invalid'
}
Ambiente
TOTVS Fluig Plataforma - Desenvolvimento - Todas as versões
Solução
No fluxo de autenticação OAuth, todas as requisições possuem uma assinatura para garantir a autenticação da requisição e evitar o acesso não autorizado. Para verificar a assinatura, os seguintes elementos são considerados:
- Tipo da requisição: Método HTTP (GET, POST, etc.).
- Host da requisição: O domínio ou IP do servidor de destino.
- Endereço da API solicitada: Incluindo path, query parameters, etc.
- Parâmetros OAuth: Nome da aplicação, consumer key, consumer secret, timestamp, entre outros.
Ao se deparar com o erro “signature_invalid” ao consumir alguma API REST da Plataforma TOTVS Fluig, é necessário verificar:
- Horário do servidor
- Para evitar ataques de repetição (replay attacks), a assinatura da requisição é invalidada caso o horário do client (a aplicação que realizou a requisição) esteja diferente do horário do servidor. Geralmente o máximo permitido é entre 3-5 minutos.
- Como corrigir: verifique a configuração de horário, timezone e sincronização NPT em ambos os ambientes - onde a aplicação está sendo executada e do servidor do TOTVS Fluig
- URL do TOTVS Fluig
- Certifique-se que a URL que o seu app está consumindo é a mesma URL configurada como URL de acesso do TOTVS Fluig (usuário wcmAdmin)
Ex.: se o TOTVS Fluig foi configurado para ser acessado por um DNS, mas a aplicação está consumindo a API utilizando o IP do servidor, a assinatura não será aceita
- Certifique-se que a URL que o seu app está consumindo é a mesma URL configurada como URL de acesso do TOTVS Fluig (usuário wcmAdmin)
- Credenciais: verifique se as credenciais estão corretas e se estão utilizando o método de assinatura correto - HMAC-SHA1, plain-text, etc
- Proxy Reverso: Caso o ambiente utilize Proxy Reverso (ex.: NGINX ou Apache) certifique-se que a requisição (cabeçalho, parâmetros, corpo da requisição, etc) não estão sendo alterados ou removidos pelo Proxy Reverso.
Mais informações:
Exemplos de projetos que utilizam autenticação OAuth:
Se você continuar enfrentando dificuldades, revise sua implementação com base nos exemplos acima e, se o problema persistir, entre em contato com o Suporte TOTVS.
Importante
Após a inclusão da propriedade os serviços devem ser reiniciados.
A partir da versão Voyager 2.0, as configurações foram migradas dos arquivos domain.xml e host.xml para o standalone.xml. Este artigo se refere às versões anteriores ao Voyager 2.0.
Para mais informações sobre a migração e as diferenças entre as versões, consulte nossa documentação Atualização Voyager (2.0) - O arquivo de configurações da plataforma mudou!
0 Comentários