Domanda

Se voglio fornire OpenID come unico metodo di registrazione disponibile E voglio fare qualcosa di significativo con il soprannome, come posso gestire 2 utenti con lo stesso soprannome di Jon Smith?

In realtà, quando ho guardato lo schema dell'URL di StackOverflow, sono rimasto sorpreso dal fatto che l'ID utente interno fosse utilizzato nell'URL. Ad esempio:

https://stackoverflow.com/users/5908/z225rate

Ora mi rendo conto che probabilmente è per evitare questo problema.

Ma questo apre anche uno scenario difficile. E se gli utenti volessero impersonare qualcun altro? Devono solo creare un account OpenID falso, copiare il nick e il gioco è fatto. Sicuro che puoi dire chi sta guardando l'URL OpenID, ma è molto probabile che causerà confusione tra gli utenti non esperti.

Stavo pensando di controllare il nick durante la registrazione e di costringere l'utente a prenderne un altro nel caso fosse già in uso. Ma poi devi conservare il nuovo nick e usarlo al posto di quello impostato in OpenID. Non carino.

Qualche idea? " Non utilizzare OpenID " non è un'idea (valida):) Voglio dire, potrebbe darsi che alla fine non lo utilizzi, ma voglio sapere fino a che punto dovrei andare per farlo funzionare "correttamente".

Grazie!

È stato utile?

Soluzione

Puoi usare il nick da Open ID e impostare automaticamente la scelta del nick nel tuo sistema, ma non consentire duplicati nel tuo sistema, quindi saranno costretti a scegliere un nick diverso per il tuo sistema.

Potresti comunque memorizzare il loro nick Open ID e usarlo, quindi se vuoi che siano in grado di mostrare il loro nick preferito da OpenID a tutti i costi, per tutti gli utenti duplicati, potresti forzare la visualizzazione come " OpenID Nick (il tuo nick unico) " ;.

Quindi potresti avere Mike (mike1), Mike (mike2), ecc. per qualsiasi utente che preferisce un nick che molti utenti vogliono. Penserei che questo scoraggerebbe qualsiasi utente dalla scelta di un nick non unico, dal momento che non vorranno che venga visualizzato in questo modo.

Altri suggerimenti

Non esiste un OpenID falso, fondamentalmente OpenID sta mappando uno spazio URL a un utente, con un po 'di regole di consegna su come passare i dati.

Dal momento che non esiste uno standard su come formare un URL per OpenID, sarebbe un po 'brutto semplicemente dare uno schiaffo al loro URL OpenID completo accanto al loro nome. Che hai già notato.

I tuoi dati interni dovrebbero essere sempre considerati più validi dei campi OpenID passati dall'utente. Chiedi all'utente di selezionare un altro nome se un nome è già rivendicato da un altro OpenID.

Secondo me, il modo migliore è quello di creare una cartella separata per ciascun fornitore di servizi come example.com/google/username, mentre facendo questo non hai alcun conflitto tra diversi fornitori, il mal di testa dei nomi utente dovrebbe essere fatto solo dal fornitore di servizi, e se provi a farlo sarà g8 pasticcio e gli altri modi come http://stakeoverflow.com sta facendo ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top