Skip to content

Obtener Token

Endpoint para obtener token de acceso OAuth 2.0 usando credenciales de cliente.

URLs

MétodoURLAcciónDescripción
POST/api/tokenAutenticarObtiene token de acceso usando client_credentials

Producción:

{security-producao}/api/token

Homologación:

{security-homologacao}/api/token

Autenticació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_secret

Respuesta 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

CampoTipoDescripción
access_tokenstringToken de acceso JWT
token_typestringTipo del token (siempre "Bearer")
expires_innumberTiempo de expiración en segundos
refresh_tokenstringToken para renovación del acceso
scopestringEscopos 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_secret nunca 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

Documentación de la API Fanbase