Risoluzione delle inconsistenze 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.

Ho implementato le modifiche necessarie per far funzionare i due elementi sopra indicati. Sarei felice di contribuire con queste modifiche a Discourse, ma non so se ci sia interesse a riceverle upstream? /cc @sam

Fammi sapere prima di dover affrontare tutte le procedure per inviare la PR. Il codice funziona, ma potrebbe aver bisogno di alcune revisioni o modifiche, dato che sono nuovo di Discourse.

Procedi pure con l’avvio della PR in modo da poter completare il processo CLA, ma:

Non sembra davvero valga la pena preoccuparsene: altri campi in quella pagina, come l’immagine di sfondo della scheda utente, non saranno disponibili nelle piattaforme SSO, quindi non c’è alcun vantaggio in termini di coerenza nell’aggiungere una restrizione per il campo website.

1 Mi Piace

Scusa, non sono sicuro di aver capito cosa intendessi. Concordo sul fatto che lo sfondo della scheda abbia un uso limitato in SSO (anche se è già implementato). Anche website è un campo SSO già implementato: ho solo aggiunto un’impostazione sso_overrides_website, simile a quelle già esistenti per username, avatar, bio, ecc., in modo da poter impedire le modifiche locali e far sì che il valore SSO abbia la precedenza.