Estoy trabajando en una extensión de Chrome y está usando tokens de acceso personal (Laravel Sanctum) para autenticar la extensión/usuario con la API de back-end/servidor. Entonces, básicamente, cuando envío solicitudes a los puntos finales desde la extensión, incluyo el encabezado de Autorización con el token de Portador.
Quiero agregar algunas integraciones de terceros que usarán OAuth 2.0 para la autenticación, y quiero que esas integraciones se conecten con el usuario en el backend (servidor) y no con la extensión en sí. Básicamente, mi servidor (API) será un proxy entre la API de integración y la extensión.
En la extensión, cuando un usuario intenta conectar una integración, se abre una ventana y mi servidor redirige al usuario a la URL de autorización de integración adecuada (con mi ID de cliente, alcance, uri de redireccionamiento, etc.) donde el usuario puede autorizar mi aplicación. Una vez hecho esto, se redirige al usuario al redirect_uri proporcionado (mi dominio) con el código de autorización.
¿Cuál es una forma inteligente y segura de saber qué usuario (mi usuario, no el de la integración) conectó la integración, considerando que mi identificación de usuario (incluido el token para comunicarse con mi API) se almacena localmente en la extensión y no está disponible de inmediato en el flujo de OAuth.
Mi idea es, al abrir la ventana de OAuth, pasar los datos del usuario a mi servidor (GET o POST), almacenar una cookie y luego redirigir a la URL de autorización de la integración, y cuando el usuario autorice mi aplicación y sea redirigido a redirect_uri, mis datos de usuario estarán disponibles en la cookie para que pueda asignar el código de autorización al usuario apropiado. ¿Es esta una buena manera de hacerlo?