Ocasionalmente, un usuario experimentará un problema donde cada vez que intenta iniciar sesión se le pide configurar una nueva cuenta de Discourse. Esto suele ocurrir en cuentas heredadas que acaban de volver a iniciar sesión en Discourse, o cuando se registraron con nombre de usuario y contraseña y ahora intentan iniciar sesión mediante OAuth. En el pasado, para resolverlo, era necesario vincular las credenciales Auth0 OAuth2 de ese usuario con su ID de usuario en Discourse ejecutando el siguiente comando desde la consola de Rails dentro de la instancia de Discourse:
El problema parece ser que esto ya no persiste; de hecho, devuelve =>True, cuando antes devolvía Ok. Estoy en un prompt de pry, algo que en el pasado no ocurría. Cuando salgo de Pry, también me saca de la consola de Rails.
¿Alguna idea de lo que podría estar ocurriendo aquí? ¡Gracias!
Disculpa la demora, tuve que actualizar Discourse antes de intentarlo de nuevo. Le di una oportunidad al cambio, pero no tuve éxito. A continuación, el ejemplo de lo que he intentado desde entonces y que devuelve true.
Lo siento mucho, @Falco. Nosotros también hemos tenido dificultades cuando los miembros de la comunidad se van de vacaciones y no podemos mantener a todos informados. Espero que hayas tenido unas excelentes vacaciones y te pido disculpas.
Mañana probaré tu sugerencia y compartiré los resultados. Gracias nuevamente por tu ayuda
Hola @Falco, dando seguimiento a este tema. Cuando intento ejecutar el comando sugerido anteriormente, obtengo lo siguiente:
root@ip-172-31-20-121-app:/var/www/discourse# rails c
NOTA: Heredar de Faraday::Error::ClientError está obsoleto; usa Faraday::ClientError en su lugar. Se eliminará en la versión 1.0 o posterior.
Faraday::Error::ClientError.inherited llamado desde /var/www/discourse/plugins/discourse-github/gems/2.6.5/gems/octokit-4.14.0/lib/octokit/middleware/follow_redirects.rb:14.
[1] pry(main)> UserAssociatedAccount.create!(provider_name: 'oauth2_basic', provider_uid: 'google-apps|nico@auth0.com', user_id: 1722)
ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: el valor de clave duplicado viola la restricción única "associated_accounts_provider_uid"
DETALLE: La clave (provider_name, provider_uid)=(oauth2_basic, google-apps|nico@auth0.com) ya existe.
desde /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.3/lib/patches/db/pg.rb:69:in `async_exec_params'
Causado por PG::UniqueViolation: ERROR: el valor de clave duplicado viola la restricción única "associated_accounts_provider_uid"
DETALLE: La clave (provider_name, provider_uid)=(oauth2_basic, google-apps|nico@auth0.com) ya existe.
desde /var/www/discours