Por que minha API retorna token inválido?

Se sua API possui um interceptor de validação de chaves e ao realizar a chamada recebemos como resposta o status code 401-Unauthorized isto indica que a chave informada é inválida, por motivo de:

  • Estar errada, 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, Digital Signature

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/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/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 pode-se encontrar um detalhamento maior do erro, indicando se a chave está errada, expirada, revogada ou sem acesso ao recurso.

  • Caso a chave esteja errada, 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 ira mostrar o seguinte log:

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

Thanks for your feedback!
EDIT
How useful was this article to you?