# Autenticação via Client Credentials (OAuth2)

Observações:

Esse fluxo é utilizado por sistemas, não envolve nenhum login de um usuário comum. Em vez disso, a aplicação usa suas próprias credenciais (client\_id e client\_secret) para se autenticar e obter um token de acesso.

**Importante:** *Para a realização da integração será disponibilizado pela equipe do TCE um **clientId** e um **Secret**;*

Antes de começar, você precisa receber da equipe TCE os seguintes dados:

- **Client ID** (Identificador do cliente)
- **Client Secret** (Senha secreta do cliente)
- **Token URL** (https://login-teste.tce.pb.gov.br/oauth/token)

**Etapas para obter o token**

Para obter o token é necessário fazer uma requisição para provedor de autenticação do TCE (Cerberus), para isso, é preciso utilizar os seguintes dados:

Monte uma requisição HTTP `POST` para o [`token_url`](http://10.10.5.83:9999/oauth/token), com os seguintes parâmetros:

<p class="callout info">**POST** https://login-teste.tce.pb.gov.br/oauth/token</p>

<p class="callout info">**Headers:** Content-Type: application/x-www-form-urlencoded  
 Authorization: Basic &lt;base64(seu\_client\_id:seu\_client\_secret)&gt;</p>

**Exemplos de requisição:**

**Utilizando o Curl**

Será necessário codificar o clientId e o secret em base64 para ser passado no Authorization

Exemplo de como codificar em base64 usando o terminal

echo -n "SEU\_CLIENT\_ID:SEU\_SECRET" | base64

curl -X POST https://login-teste.tce.pb.gov.br/oauth/token -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic SEU\_CLIENT\_ID e SEU\_SECRET codificado em base64" -d "grant\_type=client\_credentials"

**Utilizando o Postman**

**Aba Authorization**

É necessário definir o tipo de Authorization como **Basic Auth**, informar o Username (o clientId) e o Password (o secret);

[![Captura de tela 2025-07-25 082517.png](https://docs.tce.pb/uploads/images/gallery/2025-07/scaled-1680-/captura-de-tela-2025-07-25-082517.png)](https://docs.tce.pb/uploads/images/gallery/2025-07/captura-de-tela-2025-07-25-082517.png)

**Aba Body**

É necessário definir uma key **grant\_type** com o valor client\_credentials;

[![Captura de tela 2025-07-25 082704.png](https://docs.tce.pb/uploads/images/gallery/2025-07/scaled-1680-/captura-de-tela-2025-07-25-082704.png)](https://docs.tce.pb/uploads/images/gallery/2025-07/captura-de-tela-2025-07-25-082704.png)

**Exemplo de retorno caso tudo ocorra com sucesso**

[![Captura de tela 2025-07-25 083525.png](https://docs.tce.pb/uploads/images/gallery/2025-07/scaled-1680-/captura-de-tela-2025-07-25-083525.png)](https://docs.tce.pb/uploads/images/gallery/2025-07/captura-de-tela-2025-07-25-083525.png)