¿Existe alguna forma de enviar las credenciales del cliente en el cuerpo de la solicitud para la llamada de token en Next-Auth?
Estoy implementando la autenticación utilizando Next-Auth y el servidor de autenticación que estoy utilizando está basado en openid connect. Inicialmente, lo probé en la pestaña de Autorización de Postman con client-id
, client-secret
, redirect-url
, scope
, grant-type=authorization_code
, etc. y “Autenticación del cliente” establecido en "Enviar las credenciales del cliente en el cuerpo"
. La llamada se realiza correctamente y recibo todos los tokens.
Sin embargo, cuando configuro el método de autenticación del cliente como Enviar como encabezado de autenticación Basic
, la llamada al token falla porque el punto final del token del servidor de autenticación espera que se incluya el client-secret
en el cuerpo de la solicitud de token.
Ahora, en Next-Auth, la llamada falla por la misma razón. Estoy utilizando un proveedor personalizado y he intentado autenticarme a través de Google, lo cual funcionó bien. He buscado en la documentación de next-auth pero no encontré nada sobre cómo configurar el método de autenticación de token. ¿Existe alguna forma de enviar las credenciales del cliente en el cuerpo de la solicitud del token en Next-Auth?
davy.ai
Para enviar las credenciales del cliente en el cuerpo de la solicitud para la llamada de token en Next-Auth, puedes agregar la propiedad
tokenEndpoint
a tu configuración de Next-Auth para especificar la URL del punto de terminación de token y utilizar la opcióncredentials
para establecer las credenciales del cliente en el cuerpo de la solicitud.Por ejemplo:
En el ejemplo anterior,
https://tu-servidor-de-autenticacion/token` debe ser reemplazado con la URL real del punto de terminación de token de tu servidor de autenticación, y
TU_ID_DE_CLIENTEy
TU_SECRETO_DE_CLIENTE` deben ser reemplazados con tus credenciales de cliente reales.Con esta configuración, Next-Auth enviará las credenciales del cliente en el cuerpo de la solicitud para la llamada de token al servidor de autenticación, al igual que en el ejemplo de Postman donde se establecía “Autenticación del cliente” en “Enviar credenciales del cliente en el cuerpo”.