Ho bisogno di aiuto durante l'implementazione di SSO per l'ambiente di sviluppo

Ho configurato Discourse sulla mia macchina locale e volevo configurare l’accesso SSO. Posso reindirizzare l’utente quando fa clic su login, ma quando vengo reindirizzato continuo a ricevere errori. Ho abilitato anche il logging e dice:
Nonce is incorrect, was generated in a different browser session, or has expired
Di seguito è riportato il file Python che sto utilizzando: Discourse-setup/main.py at main · kamleshjoshi8102/Discourse-setup · GitHub

Si prega inoltre di notare che nel mio caso è in esecuzione sulla porta 4201, quindi ho reindirizzato alla porta 4201 al momento del login.

Questo è il metodo che genera l’errore:

  def nonce_valid?
    if SiteSetting.discourse_connect_csrf_protection
      nonce && @secure_session[nonce_key].present?
    else
      nonce && Discourse.cache.read(nonce_key).present?
    end
  end

Verifica che il nonce sia stato generato da Discourse per la stessa sessione di quella che reindirizza l’utente a Discourse.
Potresti provare a impostare l’impostazione del sito discourse_connect_csrf_protection su false. Il suo valore predefinito è true. È un’impostazione del sito nascosta, quindi può essere disabilitata solo dalla console Rails.

Quando abilitata, l’impostazione discourse_connect_csrf_protection garantisce che l’intero processo di autenticazione SSO avvenga tramite reindirizzamenti del browser. Se stai avviando il processo di autenticazione effettuando una richiesta in background a session/sso, dovrai disabilitarla. Maggiori dettagli qui: DiscourseConnect flow no longer functions - #5 by david.

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.