es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Arquitectura del Token de Actualización OAuth

Tengo múltiples aplicaciones web para las cuales quiero utilizar nuestro proveedor de OAuth. Todas estas aplicaciones web se encuentran en diferentes dominios. Por ejemplo, a.com, b.com y c.com.

Mi proveedor de OAuth, cuando se accede al punto final del token, devuelve un token de actualización mediante una cookie de solo lectura HTTP. Esto está bien en teoría, pero el navegador no aceptará la cookie debido a que es una cookie de dominio cruzado. (He intentado casi de todo para permitir esto. Ver más abajo).

Configuración de la cookie:
Same Site: none
Secure: true
Domain: null
Http Only: true

He intentado configurar el CORS de la aplicación web para permitir el punto final de la API de autenticación.

Configuración de CORS:
WithOrigins: “la URL de la API”
WithMethods: “GET, POST”
WithHeaders: “Content-Type, *”
AllowCredentials: true

¿Cómo puede mi proveedor de OAuth devolver un token de actualización que pueda almacenar de forma segura en el cliente?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Una solución sería implementar un flujo de intercambio de tokens. Esto implica que las aplicaciones web envíen su token de acceso de cliente al servidor de autorización, el cual lo intercambiará por un nuevo par de tokens de acceso y de actualización. De esta manera, el token de actualización puede almacenarse de forma segura en el dominio del servidor de autorización, mientras que el token de acceso puede ser utilizado por la aplicación web en su propio dominio. Este proceso puede automatizarse en el código de la aplicación web, de forma que no se vea afectada la experiencia del usuario. Otra opción podría ser utilizar un método de autenticación diferente, como OpenID Connect, que proporciona una forma estandarizada de intercambiar tokens entre dominios.

Comments are closed.