Mensajes de Error
Esta sección lista todos los posibles mensajes de error que pueden ocurrir durante el proceso de autenticación e integración.
Errores en la Validación de la Solicitud de Autorización
unauthorized_client
Error:
error=unauthorized_client
error_description=The Client ID informed by the client is not valid.Causa: El Client ID informado no es válido o no está registrado en el sistema.
Solución: Verifique si el client_id está correcto y si fue proporcionado por Fanbase.
invalid_request - URI no corresponde
Error:
error=invalid_request
error_description=The informed URI does not match with any of the registered Client's URIs.Causa: La URI de redirección informada no corresponde a ninguna de las URIs registradas para el cliente.
Solución: Verifique si la redirect_uri está exactamente igual a la configurada en el sistema. Asegúrese de que no hay diferencias en mayúsculas/minúsculas, barras finales o protocolos.
invalid_request - id_token_hint sin prompt
Error:
error=invalid_request
error_description=The use of the id_token_hint property requires the prompt value to be set as 'none'.Causa: Utilizó el parámetro id_token_hint sin definir prompt=none.
Solución: Agregue &prompt=none a su solicitud cuando use id_token_hint.
Errores en los Procesos de Intercambio de Tokens
Parámetro ausente
Error:
The request is missing a parameter: (client_id, client_secret, grant_type, code)Causa: Uno o más parámetros obligatorios no fueron informados en la solicitud.
Solución: Verifique si todos los parámetros obligatorios están presentes:
grant_typeclient_idclient_secretcode
Client ID inválido
Error:
The informed Client ID is invalid.Causa: El Client ID informado no es válido.
Solución: Verifique si el client_id está correcto.
Client Secret incorrecto
Error:
The informed Client Secret does not match the correct secret.Causa: El Client Secret informado no corresponde al secret correcto para el Client ID.
Solución: Verifique si el client_secret está correcto y corresponde al client_id informado.
Código de autorización inválido
Error:
The informed authorization code is invalid.Causas posibles:
- El código de autorización ya fue utilizado
- El código expiró
- El código no es válido
Solución:
- Use cada código de autorización solo una vez
- Intercambie el código por tokens inmediatamente después de recibirlo
- Verifique si el código fue copiado correctamente
Grant Type inválido
Error:
The informed Grant Type is invalid or not implemented.Causa: El Grant Type informado no es válido o no está implementado.
Solución: Use grant_type=authorization_code para el flujo de código de autorización.
Códigos de Estado HTTP
Además de los mensajes de error específicos, la API puede retornar los siguientes códigos de estado HTTP:
| Código | Descripción |
|---|---|
| 200 | Éxito |
| 400 | Solicitud inválida |
| 401 | No autorizado |
| 403 | Acceso denegado |
| 404 | Recurso no encontrado |
| 500 | Error interno del servidor |
Tratamiento de Errores
Ejemplo en JavaScript
try {
const response = await fetch('{security-producao}/api/token/v2', {
method: 'POST',
body: new URLSearchParams({
grant_type: 'authorization_code',
client_id: clientId,
client_secret: clientSecret,
code: authorizationCode
})
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error_description || `Error ${response.status}`);
}
const tokens = await response.json();
return tokens;
} catch (error) {
console.error('Error al intercambiar código por tokens:', error.message);
throw error;
}Ejemplo en el Callback
const urlParams = new URLSearchParams(window.location.search);
const error = urlParams.get('error');
const errorDescription = urlParams.get('error_description');
if (error) {
console.error('Error en la autenticación:', error);
console.error('Descripción:', errorDescription);
switch (error) {
case 'unauthorized_client':
alert('Client ID inválido. Contacte al soporte.');
break;
case 'invalid_request':
alert('Solicitud inválida: ' + errorDescription);
break;
default:
alert('Error desconocido: ' + errorDescription);
}
}Soporte
Si encuentra errores no documentados aquí o necesita ayuda adicional, contacte al equipo de soporte de Fanbase.
