Resposta detalhada de erro do token

Texto de http://tools.ietf.org/html/draft-ietf-oauth-v2-16. O servidor de autorização responde com um código HTTP 400 (Bad Request) e inclui o seguinte valor no parâmetro "error" com a resposta:

    invalid_request: está faltando um parâmetro obrigatório na solicitação, existe um parâmetro ou valor de parâmetro incompatível, um parâmetro repetido, existem múltiplas credenciais, utiliza mais de um mecanismo para a autenticação do cliente ou algo está mal formado.

    invalid_client: a autenticação do cliente é inválida (ex.: cliente desconhecido, não há credenciais de cliente incluídas, múltiplas credenciais de cliente incluídas ou tipo de credencial incompatível). O servidor de autorização DEVE retornar um código HTTP 401 (Not Authorized) para indicar qual esquema de autorização HTTP é compatível. Se o cliente tentar autenticar-se através do campo "Authorization", o servidor de autorização DEVE responder com um código HTTP 401 (Not Authorized), e incluir o campo de resposta "WWW-Authenticate" relacionado ao esquema de autenticação utilizado pelo cliente.

    invalid_grant: a concessão de autorização fornecida é inválida, expirou, foi revogada, não corresponde à URL de redirecionamento utilizada na solicitação da autorização ou foi emitida por outro cliente.

    unauthorized_client: o cliente autenticado não está autorizado a utilizar este tipo de concessão de autorização.

    unsupported_grant_type: o tipo de concessão de autorização é incompatível com o servidor de autorização.

    invalid_scope: o escopo solicitado é inválido, desconhecido, mal formado ou excede o escopo concedido pelo proprietário do recurso.

    invalid_operation: a operação solicitada é inválida, desconhecida, mal formada ou excede o escopo concedido pelo proprietário do recurso.

Se o servidor de autorização encontrar uma condição de erro diferente de 400 (Bad Request) e 401 (Not Authorized) as respostas descritas abaixo (ex.: o serviço está temporariamente indisponível), o servidor de autorização deve incluir uma resposta de erro no corpo da entidade e definir o valor do parâmetro "error" com um código HTTP numérico retornado.

Exemplo:

HTTP/1.1 503 Service Unavailable

Content-Type: application/json

{

    "error":"503"

}