Autenticação via token

O acesso às APIs hospedadas em nuvem pelo CPQD é restrito e exige a criação de um token de acesso. A criação do token é realizada através de uma interface REST utilizando uma credencial fornecida pelo suporte do CPQD. A solicitação da credencial pode ser realizada através do e-mail suporte_ii@cpqd.com.br.

Os endpoints a seguir são acessíveis em https://speechp.cpqd.com.br.

POST /auth/token

Cria um novo token ou retorna um token previamente criado.

O endpoint deve ser invocado fornecendo o identificador e senha da API Key como credenciais de autenticação HTTP Basic. Se as informações de autenticação não forem informadas, ou forem inválidas, o endpoint retornará o erro HTTP 401. O tempo de expiração mínimo é de 30 minutos.

Em caso de sucesso, a resposta conterá um objeto JSON com os seguintes campos:

  • token_format - Formato do token retornado.

  • token_type - Tipo de token retornado.

  • cached - Indica se o token retornado foi criado numa chamada anterior ao endpoint (true) ou foi criado durante a chamada atual (false).

  • expires_in - Indica em quanto tempo (segundos) leverá para o token expirar.

  • access_token - Conteúdo do token, que deve ser informado ao utilizar a API de biometria.

Em caso de falha (e.g. credenciais incorretas, nenhuma API key encontrada com o identificador indicado, etc), a resposta será HTTP 404 (Not found).

Exemplo:

POST /auth/token HTTP/1.1
Host: token-sl.cpqd.com.br
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 302

{"token_format":"JWT", "token_type" : "bearer", "cached":false, "expires_in":300, "access_token":"...")

POST /auth/check

Verifica se um token é válido.

A requisição deve ter o cabeçalho HTTP Content-Type definido como application/json e conter os seguintes campos:

  • token - Conteúdo do token que será validado.

Se o token for autêntico e não estiver expirado, a resposta será HTTP 200 (OK). Caso contrário (e.g. token inválido, expirado, revogado, etc) a resposta será HTTP 404 (Not found).

Exemplo:

POST /auth/check HTTP/1.1
Host: token-sl.cpqd.com.br
Content-Type: application/json
Content-Length: 109

{"token":"..."}
HTTP/1.1 200 OK