Geração do Token de Acesso
Para gerar o Token de Acesso, é necessário realizar uma requisição utilizando HTTP Basic
Authentication através de um método POST, de modo que seja enviado um Header
Authorization com valor Basic {CODIGO_BASE64}. As credenciais CLIENT_ID e
CLIENT_SECRET devem ser concatenadas com um símbolo “:” para que então sejam
informadas como valor para o campo citado.
Mantenha suas credenciais em segurança. Nunca compartilhe ou exponha o client_secret em código frontend.
Deve também ser informado o tipo de autenticação no corpo da mensagem como
client_credentials. Segue o modelo de requisição utilizado para gerar o token de acesso:
{BaseUrl}/api/oauth/token
Authorization: BASIC base_64({CLIENT_ID}:{CLIENT_SECRET})
Content-Type: application/json
{
"grant_type": "client_credentials"
}
{
curl -X POST https://api.moneyguard.com.br/api/oauth/token \
-H "Authorization: Basic $(echo -n 'seu_client_id:seu_client_secret' | base64)" \
-H "Content-Type: application/json" \
-H "User-Agent: seu_user_agent" \
-d '{"grant_type": "client_credentials"}'
}
Caso os dados informados estejam corretos, será retornada uma mensagem HTTP 200 OK informando o código gerado e o seu tempo de validade. Esse código deverá ser utilizado em todas as requisições posteriores, e precisará ser gerado novamente após atingir seu tempo de expiração.
{
"access_token": "eyJhbGciOiJIUzI1NiJ9...",
"token_type": "Bearer",
"expires_in": 1800
}
Descrição dos Atributos
| ATRIBUTO | DESCRIÇÃO | TIPO |
|---|---|---|
| access_token (Obrigatório) | Token JWT a ser utilizado nas demais requisições da API | STRING |
| token_type (Obrigatório) | Tipo de token gerado. Sempre “Bearer” | STRING |
| expires_in (Obrigatório) | Tempo de validade do token, em segundos 930 minutos) | INTEGER |
Em caso de das informações passadas na requisição para criação de token serem inválidas, será retornado HTTP 401 Unauthorized, de acordo com o exemplo abaixo.
{
"error": "unauthorized"
}
Possíveis erros
| CÓDIGO | ERRO | DESCRIÇÃO |
|---|---|---|
| 400 | Unsupported grant type | grant_type diferente de "client_credentials" |
| 401 | Missing credentials | Header Authorization ausente |
| 401 | Invalid credentials format | Formato do header Authorization invalido |
| 401 | Invalid credentials | client_id ou client_secret incorretos |
| 401 | User inactive | Usuário da API está inativo |
| 403 | IP not whitelisted | IP de origem não está na lista de IPs permitidos |