Occasionalmente un utente può riscontrare un problema in cui, ogni volta che tenta di accedere, gli viene chiesto di creare un nuovo account Discourse. Questo accade comunemente sia con account legacy che stanno tornando ad accedere a Discourse dopo un periodo di inattività, sia quando l’utente si era registrato con nome utente e password e ora tenta di accedere tramite OAuth. In passato, per risolvere il problema, era necessario collegare le credenziali Auth0 OAuth2 al proprio ID utente in Discourse eseguendo il comando seguente dalla console Rails all’interno dell’istanza Discourse:
Il problema sembra essere che l’operazione non viene più mantenuta; anzi, restituisce =>True dove in precedenza restituiva Ok. Sono a un prompt Pry, cosa che in passato non mi sembrava fosse il caso. Quando esco da Pry, vengo anche espulso dalla console Rails.
Avete idea di cosa possa stare succedendo? Grazie!
Scusa il ritardo, ho dovuto aggiornare Discourse prima di riprovare. Ho tentato la modifica ma non ho avuto successo. Di seguito l’esempio di ciò che ho provato da allora e che restituisce true.
Scusa per questo, @Falco, anche noi abbiamo avuto difficoltà quando i membri della Community vanno in vacanza e non riusciamo a tenere tutti aggiornati. Spero tu abbia passato delle belle vacanze e mi scuso.
Proverò il tuo suggerimento domani e condividerò i risultati. Grazie ancora per il tuo aiuto
Ciao @Falco, faccio un follow-up su questo fronte. Quando provo a eseguire il comando suggerito sopra, ricevo quanto segue:
root@ip-172-31-20-121-app:/var/www/discourse# rails c
NOTA: L'ereditarietà di Faraday::Error::ClientError è deprecata; utilizza Faraday::ClientError invece. Verrà rimossa nella versione 1.0 o successiva.
Faraday::Error::ClientError.inherited chiamato da /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: ERRORE: il valore della chiave duplicata viola il vincolo univoco "associated_accounts_provider_uid"
DETTAGLIO: La chiave (provider_name, provider_uid)=(oauth2_basic, google-apps|nico@auth0.com) esiste già.
da /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'
Causato da PG::UniqueViolation: ERRORE: il valore della chiave duplicata viola il vincolo univoco "associated_accounts_provider_uid"
DETTAGLIO: La chiave (provider_name, provider_uid)=(oauth2_basic, google-apps|nico@auth0.com) esiste già.
da /var/www/discours