Usando autenticación personalizada

¡Hola a todos :waving_hand:,

Actualmente estamos intentando integrar la autenticación basada en cookies de nuestro propio sitio web. Tenemos una URL de callback a la que normalmente pasamos varios parámetros para autenticar a los usuarios, pero estamos teniendo problemas para autenticar a los usuarios en Discourse de la misma manera.

He estado experimentando con (GitHub - discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse · GitHub), pero resulta difícil integrarlo con nuestra configuración.

¿Existe alguna forma de configurar cómo Discourse autentica a los usuarios para que podamos utilizar nuestros propios métodos? Estamos encantados de proporcionar cualquier información o código adicional si es necesario. ¡Agradecemos cualquier consejo!

¡Hola, bienvenido a Meta! :grinning_face:

Esto varía mucho dependiendo de cómo creaste tu sistema de autenticación.

¿Podrías explicar cómo funciona o compartirnos una URL de tu sitio?

Hola Alexander: el funcionamiento actual es el siguiente:

  1. El usuario introduce un correo electrónico, recibe un enlace mágico con varios parámetros de URL (ID de usuario, marca de tiempo, hash con secreto para autenticar la sesión) que redirige a una URL de devolución de llamada en nuestro sistema.
  2. Tras autenticar al usuario, la función de devolución de llamada crea una cookie y se genera una sesión en la base de datos.

Es una configuración bastante sencilla, pero no es muy compatible con los complementos de OAuth2.

Hola @cb-candor, ¿cómo resolviste esto? Estamos trabajando en un caso de uso idéntico. Alternativamente, @Alexander, ¿podrías darnos algún consejo?