Ajustando inconsistências no 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.

Implementei as alterações para fazer os dois itens acima funcionarem. Ficarei feliz em contribuir de volta com o Discourse, mas não sei se há interesse em ter isso a montante? /cc @sam

Me avise antes que eu tenha que passar por todo o processo para enviar o PR. O código funciona, mas pode precisar de algumas revisões/mudanças, já que sou novo no Discourse.

Pode começar o PR para que você possa passar pelo processo de CLA, mas:

Isso não parece valer a pena se preocupar — outros campos nessa página, como a imagem de fundo do cartão do usuário, não estarão disponíveis nas plataformas SSO, então não há vantagem em consistência ao adicionar uma restrição para o campo de site.

1 curtida

Desculpe, não tenho certeza se entendi o que você quis dizer ali. Concordo que o fundo do cartão tem uso limitado em SSO (embora isso já esteja implementado). O campo website também é um campo SSO já implementado — eu apenas adicionei uma configuração sso_overrides_website, como as que já existem para nome de usuário, avatar, biografia etc., para que seja possível não permitir alterações locais e fazer com que o valor do SSO tenha precedência.