Accesso a Discourse tramite token cookie

Utilizziamo Discourse come sito della nostra community e abbiamo un sito web ufficiale.
Quindi, speriamo che Discourse possa essere automaticamente collegato dopo che l’utente si è collegato al nostro sito web ufficiale.
Il nostro sito web ufficiale aggiungerà un cookie quando l’utente si collega e utilizziamo la condivisione dei cookie in Discourse. Discourse ottiene l’autorizzazione nel cookie e ottiene le informazioni dell’utente per accedere.
L’implementazione del codice è la seguente:

application_controller.rb
  before_action :check_cookie_login
  def check_cookie_login
    if !current_user && cookies[:authorization]
      external_id = get_external_id cookies[:authorization]
      cookie_log_on_user external_id
    end
  end
current_user.rb
 def cookie_log_on_user(external_id)
    sso_record = SingleSignOnRecord.find_by(external_id: external_id)
    user = sso_record.user
    log_on_user(user)
  end
default_current_user_provider.rb
 def log_off_user(session, cookie_jar)
    ……
   cookie_jar.delete('authorization')
 end

Mi chiedo se ci sia qualcosa di sbagliato nel mio modo di fare. Esiste un modo migliore?

Questo è insicuro. Un utente potrebbe manomettere il cookie nel proprio browser ed effettuare l’accesso come qualcun altro.

Dovresti usare DiscourseConnect invece.

Grazie per il tuo suggerimento. Sono un principiante per Discourse. Se invece usassi DiscourseConnect, avrei bisogno di un’API web per restituire un nonce di cui DiscourseConnect ha bisogno?