Obtener Token
Endpoint para obtener token de acceso OAuth 2.0 usando credenciales de cliente.
📥 Collection Postman
URLs
| Método | URL | Acción | Descripción |
|---|---|---|---|
| POST | /api/token | Autenticar | Obtiene token de acceso usando client_credentials |
Producción:
{security-producao}/api/tokenHomologación:
{security-homologacao}/api/tokenAutenticación
Este endpoint utiliza el flujo OAuth 2.0 con grant_type: client_credentials. Las credenciales deben ser enviadas como parámetros de query string.
Obtener Token
Solicitud
Endpoint: POST {security-producao}/api/token
Parámetros de Query:
grant_type:client_credentials(obligatorio)client_id: ID del cliente proporcionado por Fanbase (obligatorio)client_secret: Secreto del cliente proporcionado por Fanbase (obligatorio)
Ejemplo de URL:
POST {security-producao}/api/token?grant_type=client_credentials&client_id=su_client_id&client_secret=su_client_secretRespuesta de Éxito
Estado: 200 OK
json
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "refresh_token_aqui",
"scope": "fbserver openid profile ownersecret fanaccount accountdeletion fanbaseaccountpermission fullaccountcheck setpwd"
}Campos de la Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
access_token | string | Token de acceso JWT |
token_type | string | Tipo del token (siempre "Bearer") |
expires_in | number | Tiempo de expiración en segundos |
refresh_token | string | Token para renovación del acceso |
scope | string | Escopos de permiso concedidos |
Uso del Token
El token obtenido debe ser enviado en el header AccessToken en todas las solicitudes subsiguientes para los endpoints de la API Connect.
Ejemplo:
AccessToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...Ejemplo de Implementación
javascript
async function obtenerToken(clientId, clientSecret) {
const params = new URLSearchParams({
grant_type: 'client_credentials',
client_id: clientId,
client_secret: clientSecret
});
const response = await fetch(`{security-producao}/api/token?${params}`, {
method: 'POST'
});
if (!response.ok) {
throw new Error(`Error ${response.status}: ${response.statusText}`);
}
const datos = await response.json();
return datos.access_token;
}Tratamiento de Errores
En caso de credenciales inválidas o error en la solicitud, la API retornará un código de estado HTTP apropiado (400, 401, etc.) con un mensaje de error en el cuerpo de la respuesta.
Seguridad
- El
client_secretnunca debe ser expuesto en el frontend - Utilice este endpoint únicamente en comunicación servidor-para-servidor
- Almacene el token de forma segura y renúvelo antes de expirar
- No comparta tokens entre diferentes aplicaciones o entornos
