Necesito ayuda para implementar SSO en el entorno de desarrollo

He configurado Discourse en mi máquina local y quería configurar el inicio de sesión SSO. Puedo redirigir al usuario cuando hace clic en iniciar sesión, pero cuando me redirigen, sigo recibiendo errores. Habilité el registro y dice:
Nonce is incorrect, was generated in a different browser session, or has expired
Este es el archivo de Python que estoy usando: Discourse-setup/main.py at main · kamleshjoshi8102/Discourse-setup · GitHub

Tenga en cuenta que en mi caso se está ejecutando en el puerto 4201, por lo que he redirigido al puerto 4201 al iniciar sesión.

Este es el método que está activando el error:

  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

Está comprobando que el nonce fue generado por Discourse para la misma sesión que la que redirige al usuario de vuelta a Discourse.
Podrías intentar establecer el ajuste del sitio discourse_connect_csrf_protection a false. Su valor predeterminado es true. Es un ajuste de sitio oculto, por lo que solo se puede deshabilitar desde la consola de Rails.

Cuando está habilitado, el ajuste discourse_connect_csrf_protection asegura que todo el proceso de autenticación SSO ocurra a través de redirecciones del navegador. Si estás iniciando el proceso de autenticación haciendo una solicitud en segundo plano a session/sso, necesitarás deshabilitarlo. Más detalles aquí: DiscourseConnect flow no longer functions - #5 by david.

1 me gusta

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