Ajustando inconsistencias de SSO

Most profile fields can already be specified during the SSO process which is super-useful. From username to name, to bio, and even website was added last year. But, there’s some still minor quirks:

  • location seems to be missing — from a cursory look, seems to be the only obvious field that isn’t possible to change using SSO.
  • website can be specified during SSO, but unlike most (all?) other SSO profile fields, it doesn’t have a corresponding site setting to allow overriding the local value and prevent user from changing it.

I’m guessing these were just overlooked as the code base grew over time, as I can’t think of a reason for these exceptions. Unfortunately my Ruby and Discourse knowledge isn’t enough to submit a PR, but I wanted to report it — perhaps someone has the technical chops to do it.

He implementado los cambios para que los dos elementos anteriores funcionen. Estaría encantado de contribuirlos de nuevo a Discourse, pero no sé si hay interés en incorporarlos upstream. /cc @sam

Avísame antes de que tenga que pasar por todo el proceso para enviar el PR. El código funciona, pero podría necesitar algunas revisiones o cambios, ya que soy nuevo en Discourse.

Adelante y comienza la PR para que puedas pasar por el proceso del CLA, pero:

Esto no parece realmente valioso para molestarse en hacerlo: otros campos en esa página, como la imagen de fondo de la tarjeta de usuario, no estarán disponibles en las plataformas de SSO, por lo que no hay ninguna ventaja de consistencia al agregar un bloqueo para website.

1 me gusta

Lo siento, no estoy seguro de haber entendido lo que quisiste decir allí. Estoy de acuerdo en que el fondo de la tarjeta tiene un uso limitado en SSO (aunque eso ya está implementado). website también es un campo SSO ya implementado; solo he añadido una configuración sso_overrides_website, como las que ya existen para nombre de usuario, avatar, biografía, etc., para que sea posible no permitir cambios locales y que el valor de SSO tenga prioridad.