Pregunta
· 9 feb, 2023

¿Cómo podríamos?: "Personalizar Mensaje Error al Obtener Token en Servidor de Autorización OAuth2.0"

Buenas tardes,
Por favor agradeceríamos que nos lean y respondan.

Necesitamos dada una solicitud de Autenticación emitida hacia nuestro servidor de autorización OAuth 2.0; que en caso de error, el mensaje respondido sea personalizado.

Actualmente si apuntamos desde POSTMAN a:
https://[IP]:[Puerto]/oauth2/token?grant_type=client_credentials&scope=my/scope

Username: Erróneo
Password: Errónea

Obtenemos:
{
    "error": "server_error",
    "error_description": "ERROR #5002: Error de cache: <INVALID OREF>zAuthorize+28^OAuth2.Server.Token.1"
}

Necesitaríamos:
{
    "codigo": "Error code 001",
    "descripcion": "No se ha podido obtener el Token"
}

Por favor, ¿nos podrían indicar mediante qué pasos, qué documentación y qué clases de Ensemble personalizar este mensaje de error?

Muchísimas gracias de antemano.

Hasta ahora hemos indagado en:
Documentación:
    https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

Página de la Producción Web de Ensemble:
  Sistema > Gestión de seguridad > Configuración del servidor de autorización OAuth 2.0  - (Configuración de seguridad)

        En la pestaña de personalización

Clases de Ensemble:
    %OAuth2.Server.Authenticate
    %OAuth2.Server.Validate
    %OAuth2.Server.JWT
    %OAuth2.Server.Properties

 

📝🗓📩
 

Por favor ¿nos podrían explicar qué pasos seguir, en qué clases investigar y qué documentación leer para realizarlo?

Comentarios (1)2
Inicie sesión o regístrese para continuar

Hola Yone,

Le he echado un primer vistazo.

Las peticiones que se hacen a /oauth2/token se gestionan en OAuth2.Server.Token:Process -> OAuth2.Server.Token:ProcessClientCredentials -> OAuth2.Server.Token:Authorize. Ese último método es el que retorna el error.

En principio no veo un sitio donde puedas personalizar ese error rápidamente porque son clases internas.

¿Podrías por favor crear un caso de soporte WRC para que se pueda analizar en detalle allí?

Gracias,