(oauth2_basic) ¡Error de autenticación! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detectado
¿Alguna idea?
(oauth2_basic) ¡Error de autenticación! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detectado
¿Alguna idea?
¿Es posible hacer que Auth0 sea la única forma posible de registrarse e iniciar sesión?
Sí, simplemente deshabilita todos los demás métodos de inicio de sesión (incluida la opción “habilitar inicios de sesión locales”).
¿Es posible redirigir directamente al registro de Auth0 y no mostrar el formulario de registro básico?
Si deseas ocultar toda la interfaz de inicio de sesión/registro de Discourse, puedes desactivar la configuración del sitio enable local logins.
Gracias, David. Lo hice, pero he notado que al registrarme usando el modal y ser redirigido de nuevo a Discourse, este vuelve a solicitar un nombre de usuario y otros detalles, lo que indica que Auth0 no está pasando esa información a Discourse. Me pregunto si la solución sería mantener el modal de Auth0 simple, con solo correo electrónico y contraseña para el registro, y obtener el resto de los detalles en Discourse.
El problema es que queremos mantener los datos del usuario en un solo lugar, utilizando una base de datos personalizada conectada a Auth0.
¿Cómo puedo configurar la redirección al cerrar sesión? No he encontrado nada sobre el cierre de sesión.
Para requerir la validación de la dirección de correo electrónico solo si el usuario aún no la ha confirmado en Auth0, el valor de oauth2 json email verified path es email_verified.
Encontré esto habilitando la configuración oauth2 debug auth e inspeccionando los registros en <DISCOURSE_URL>/logs. Cuando inicié sesión con una cuenta no verificada, el cuerpo se veía así:
OAuth2 Debugging:
user_json: {
"sub"=>"auth0|XXXXXX",
"nickname"=>"YYYYY+unprovenauth",
"name"=>"YYYYYY+unprovenauth@ZZZZZZ.com",
"picture"=>"https://via.placeholder.com/150",
"updated_at"=>"2022-09-21T07:50:40.172Z",
"email"=>"YYYYYY+unprovenauth@ZZZZZZ.com",
"email_verified"=>false
}
@david
Espero que puedas ayudar: me gustaría configurar Discourse para iniciar sesión usando el inicio de sesión XBL de Microsoft y pensé que este plugin podría ser una forma de empezar.
Publiqué este hilo en dev:
Hay un foro de Discourse de Minecraft llamado “The Hive” que utiliza lo que queremos hacer; simplemente no puedo encontrar un plugin para él. ![]()
¡Hola!
¿Hay alguna forma de requerir un inicio de sesión para publicar en la comunidad, pero permitir que las publicaciones sean visibles sin iniciar sesión?
Hemos habilitado el plugin Auth0 para nuestra comunidad. Y hemos eliminado todas las demás formas de inicio de sesión y publicación anónima; esencialmente, queremos asegurarnos de que las personas sean clientes nuestros antes de publicar en la comunidad de usuarios. Pero aún así nos gustaría que las publicaciones fueran visibles para otros, incluso si no han iniciado sesión.
La forma en que pude hacer que el plugin Auth0 funcionara, requiere que inicies sesión antes de ver el contenido. ¿Me falta algún interruptor o algo?
¡Gracias!
Parece que has activado login required. Con esa opción activada, solo las personas con una cuenta pueden ver las publicaciones del foro. Deberías poder tener SSO sin necesidad de activarla. ![]()
esta URL se devuelve justo después de que se crea el registro y antes de que el usuario final pueda validar su correo electrónico en Auth0. ¿Hay alguna forma de evitar que se transfiera a la comunidad antes de que se valide el correo electrónico?
Tengo algunos problemas para configurar esto. Después de habilitar todo y luego pasar por el proceso de registro en mi Discourse, se envía a Auth0 sin problemas, pero cuando regreso, veo un mensaje de error (“Oops El software que impulsa este foro de discusión encontró un problema inesperado. Lamentamos las molestias”).
Mirando en los registros, veo lo que creo que es el error:
ActiveRecord::NotNullViolation (PG::NotNullViolation: ERROR: null value in column "provider_uid" of relation "user_associated_accounts" violates not-null constraint
He verificado que he configurado todo de acuerdo con las instrucciones. Parece que este problema podría ser causado por un valor incorrecto en el campo “Ruta del ID de usuario JSON de OAuth2” y que este campo esté vacío. Lo he configurado en sub.
Presumiendo que el IDP proporciona campos separados como user.name.first y user.name.last, en lugar de user.name.full como se da en el ejemplo de descripción del campo…
¿Sería posible concatenar el valor de la ruta de nombre JSON de OAuth2 de múltiples rutas de datos JSON de usuario?