Por que minha API retorna token inválido?

Se sua API possui um interceptor de validação de chaves e, ao realizar a chamada, recebe como resposta o status code 401 Unauthorized, isso indica que a chave informada é inválida por um dos seguintes motivos:

  • Estar incorreta, expirada ou revogada

  • Não possuir acesso àquele recurso/API

Os interceptors de validação de chaves são: OAuth, Access Token Validation, JWT Validation, Client ID Validation, CSRF Validation, Time Token Validation e Digital Signature.

Ao informar credenciais (como access token) nesses interceptors, certifique-se de utilizar o valor exatamente como gerado, sem espaços em branco ou quebras de linha no início ou no final da string. Qualquer alteração no formato original pode afetar o processamento da credencial.

O response da chamada da API informa qual elemento carrega a chave inválida.

  • Para o caso de access_token (expirado, revogado, incorreto, que não possui acesso ao recurso chamado e não informado) a mensagem será:

    • Access Token in the request, identified by HEADER access_token, is invalid. Check docs.sensedia.com

  • Para o caso de client_id (expirado, revogado, incorreto, que não possui acesso ao recurso chamado e não informado) a mensagem será:

    • Client Id in the request, identified by HEADER client_id, is invalid. Check docs.sensedia.com

  • Para o caso de interceptors onde o nome do elemento que carrega a chave (header, cookie, queryParam) é definido pelo usuário, a mensagem será:

    • %s in the request, identified by HEADER %s, is invalid. Check docs.sensedia.com

No log do General trace é possível encontrar um detalhamento maior do erro, indicando se a chave está incorreta, expirada, revogada ou sem acesso ao recurso.

  • Caso a chave esteja incorreta, expirada ou revogada, o trace irá mostrar o seguinte log:

    • Access token in HEADER access_token HAS NOT BEEN FOUND (causes: is invalid, expired or revoked); rejecting call

  • Caso a chave não possua acesso ao recurso, o trace irá mostrar o seguinte log:

    • Access token in HEADER access_token DOES NOT HAVE ACCESS TO THIS RESOURCE; rejecting call

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]