Mi configuración para OAuth básico se está comportando de manera bastante extraña. Tuve algunos errores iniciales durante la configuración y los he resuelto. Sin embargo, ahora puedo ver que el flujo va de Discourse → Punto de autorización de Cognito → Callback de Discourse → /login de Discourse. No hay advertencias ni errores en el registro y, al revisar los registros, puedo ver que se realizó una llamada JSON exitosa para obtener los datos del usuario.
Dado que parece tener un token exitoso y ha cargado los datos JSON, esperaría que la cuenta de usuario se registrara correctamente; en cambio, el usuario es redirigido a la página de inicio de sesión.
Por favor, vea los registros a continuación.
Depuración de OAuth2: respuesta de after_authenticate, credenciales: {"token" => "eyJraWQiOiJ3YW8zbVBRWmh2Z2F6YldNaU5jS3ZOdVdRMXRmcm1ya2ZVZ2RvVjVYSG1RPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJkNzhkZDliNS03Mjc2LTQ5OWEtYjdiN
7:48 p. m.
Depuración de OAuth2: user_json_url: GET https://api.lifebac.com/token/details?token=eyJraWQiOiJ3YW8zbVBRWmh2Z2F6YldNaU5jS3ZOdVdRMXRmcm1ya2ZVZ2RvVjVYSG1RPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJkNzhkZDliNS03Mjc
7:48 p. m.
Depuración de OAuth2: user_json_response: #<Excon::Response:0x00007f36a7608a30 @data={:body=>"{\"id\":\"d78dd9b5-7276-499a-b7b6-02da38e03ce9\", ...}", :cookies=>[], :host=>"api.lifebac.com", :headers=>{"Conten
7:48 p. m.
Depuración de OAuth2: user_json: {"id" => "d78dd9b5-7276-499a-b7b6-02da38e03ce9", ...}
Cualquier ayuda sobre lo que está ocurriendo sería de gran utilidad. Estoy más que dispuesto a proporcionar los backtraces si es necesario.
Por desgracia, esa información aparece en blanco y no hay nada que confirmar sin ingresar todos sus datos.
Además, ¿es posible confirmar automáticamente al usuario? Su correo electrónico ya está verificado de nuestro lado y me gustaría mantener esta experiencia lo más fluida posible para nuestros usuarios.
No es posible omitir el popup (por ahora), pero todo debería poblarse automáticamente con los datos de tu proveedor de identidad.
¿Cuáles son los valores de tu configuración de OAuth2? Tomemos oauth2_json_email_path como ejemplo.
Además, ¿podrías compartir la línea completa de “user_json” del registro para que podamos ver todas las claves? (puedes enmascarar los correos electrónicos).
y los valores de los campos eran “id” y “username” para los campos aplicables.
Actualmente estoy actualizando el endpoint para agregar el correo electrónico y el nombre, pero tenía la impresión de que solo se requerían un id y un nombre de usuario.
Los datos mínimos para conectar la cuenta con una cuenta de Discourse son solo el id. Sin embargo, Discourse necesita un nombre de usuario y un correo electrónico. Por eso mostramos el modal de registro.
Si puedes agregar esa información a la API de OAuth, harás que todo sea mucho más fluido para tus usuarios