Actualmente estoy intentando integrar la autenticación de Auth0 en mi aplicación Discourse. Básicamente, seguí el flujo de trabajo aquí y logré que funcionara.
Sin embargo, no estoy del todo satisfecho por varias razones:
Después de hacer clic en iniciar sesión/registrarme, solo hay un botón “con Auth0”. Quiero que el panel de inicio de sesión/registro de Auth0 sea lo único que aparezca después de hacer clic en iniciar sesión/registrarme en la parte superior de la página de Discourse.
Después de la autenticación con Auth0, las personas no deberían tener que crear un nuevo usuario, sino que todo debería estar bien gracias a Auth0.
La autenticación por correo electrónico debería ser o debería haber sido manejada a través de Auth0, no a través de Discourse.
Si ya has iniciado sesión a través de Auth0 en ese navegador, posiblemente con la misma aplicación de Auth0, en otro módulo de nuestra plataforma, deberías iniciar sesión automáticamente.
Todavía debería existir la posibilidad de iniciar sesión como usuario administrador, ya que esto podría resultar más desafiante después de implementar el punto n.º 1.
¿Podrías ayudarme a configurar todo o al menos partes de ello?
Creo que puedes verificar esta configuración en Discourse auth_overrides_email para esto.
Y puedes usar esta configuración de vista para esto: auth_skip_create_confirm
Al registrarse a través de autenticación externa, omite la ventana emergente de creación de cuenta. Se usa mejor junto con auth_overrides_email, auth_overrides_username y auth_overrides_name.
También existe la configuración auth_immediately que podría hacer lo que buscas:
Redirige automáticamente al sistema de inicio de sesión externo sin interacción del usuario. Esto solo tiene efecto cuando login_required es verdadero y solo hay un método de autenticación externo.
Además, intenté iniciar sesión con mi correo electrónico de prueba y todavía requiere autenticación por correo electrónico a pesar de que el correo electrónico está autenticado en Auth0.
Intenta deshabilitar la configuración de enable local logins. Esto debería eliminar la capacidad de iniciar sesión, dejando a tus usuarios solo la opción de iniciar sesión con OAuth2.
Recomendaría hacer esto en una sesión de navegador separada. De esa manera, puedes revertir cualquier cambio que hagas si tienes problemas de configuración sin perder la capacidad de iniciar sesión.
Gracias por tus aportaciones. He progresado un poco, pero desafortunadamente todavía hay un pequeño problema con el inicio de sesión. Cada vez que presiono el botón de inicio de sesión, la información correcta del usuario se obtiene de Auth0, pero Discourse todavía intenta crear una cuenta.
Me lleva a una pantalla de Bienvenido, creemos tu cuenta con un error que dice El correo electrónico principal ya está en uso.
Esta es mi configuración actual para todas las anulaciones:
Me encanta este plugin. Me doy cuenta de que cuando cierro sesión, cierra mi sesión en Discourse. Pero cuando hago clic en iniciar sesión… inmediatamente me vuelve a iniciar sesión (sin pasar por Auth0). Permití la URI de cierre de sesión en mi aplicación Auth0, pero parece que este plugin nunca llama a https://AUTH0_DOMAIN/v2/logout. ¿Quién mantiene esto? ¿Se puede añadir?