Saltar al contenido principal

Error 403

El error 403 - Forbidden está relacionado con el contenido del access token. Ocurre cuando el token utilizado no posee permisos compatibles con los necesarios para utilizar el servicio deseado.

Motivos recurrentes​

Ausencia de scopes​

Cuando una llamada llega a nuestro sistema, una de las validaciones realizadas es la referente a los scopes. Si tu token no posee el scope necesario para consumir el servicio, se disparará un error 403.

Por ejemplo: Generar un token sin el scope empresas.btgpactual.com/payments e intentar consumir un servicio de Pagos y Transferencias dará como resultado un 403.

Usuario sin los perfiles necesarios​

Cuando se crea un token, este queda vinculado al usuario que inició sesión durante el flujo de authorization code. Con ello, verificamos qué perfiles posee el usuario en la cuenta en la que se realizó el consentimiento y definimos qué puede o no consumir el usuario de la cuenta.

Cuando se utiliza un token con menos permisos de los necesarios para consumir una API, el resultado será un 403.

Por ejemplo: Un usuario únicamente con el perfil de desarrollador generó un token. Este token se utiliza luego para consumir un producto de Pagos y Transferencias en producción. El resultado será 403, pues es necesario que el usuario posea el perfil de cuentas por pagar o el perfil de operador.

Token sin empresa seleccionada​

El error 403 puede ocurrir cuando el token utilizado fue generado a partir de un flujo de authorization code donde la empresa no fue seleccionada.

Al decodificar un token generado a partir de un flujo como este, será posible identificar el problema al decodificar el token y observar la claim "aud", que estará como "null".

Uso de postman web​

Cuando se dispara una petición desde postman web, esta es rechazada de inmediato y se dispara el 403. Se debe utilizar postman/insomnia de escritorio o bien un script que dispare las peticiones desde tu servidor local en escenarios de pruebas preliminares o depuración de peticiones unitarias.