La maggior parte dei campi del profilo può già essere specificata durante il processo SSO, il che è estremamente utile. Dal nome utente al nome, alla biografia e persino al sito web, quest’ultimo è stato aggiunto lo scorso anno. Tuttavia, ci sono ancora alcune piccole anomalie:
location sembra essere assente — da una rapida occhiata, sembra essere l’unico campo ovvio che non è possibile modificare tramite SSO.
website può essere specificato durante l’SSO, ma a differenza della maggior parte (se non di tutti) gli altri campi del profilo SSO, non ha un’impostazione del sito corrispondente per consentire la sovrascrittura del valore locale e impedire all’utente di modificarlo.
Immagino che siano stati semplicemente trascurati man mano che la codebase cresceva nel tempo, poiché non riesco a pensare a una ragione per queste eccezioni. Purtroppo la mia conoscenza di Ruby e Discourse non è sufficiente per inviare una PR, ma volevo segnalarlo — forse qualcuno ha le competenze tecniche per farlo.
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.
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.