È ragionevole richiedere password quando gli utenti accedono alla mia applicazione tramite account di social media?

3

Ho creato un'applicazione che richiede agli utenti di autenticarsi con uno o più account di social media da Facebook, Twitter o LinkedIn.

Modifica Una volta che l'utente ha effettuato l'accesso, nel sistema viene mantenuta una 'identità', a cui è associato tutto il contenuto creato. Un utente può associare un account da ciascuno dei provider supportati con questa identità.

Sono preoccupato di come proteggere i potenziali utenti dal connettere l'account sbagliato alla loro identità nella nostra applicazione.

/ Modifica

Ci sono due scenari principali che potrebbero accadere:

  • L'utente ha più account su uno dei tre provider e non ha effettuato l'accesso a quello che desidera.

  • L'utente arriva a un computer pubblico o condiviso, in cui l'utente precedente si è lasciato loggato in uno dei tre provider.

Anche se non ho riscontrato molti esempi di questo fatto, sto considerando di richiedere agli utenti di autenticare le password con Facebook, Twitter e LinkedIn ogni volta che accedono alla nostra applicazione.

È un approccio ragionevole, o ci sono ragioni per cui molti altri siti e applicazioni non sfidano gli utenti a fornire un nome utente e una password quando autorizzano le applicazioni ad accedere ai loro account sui social media?

Grazie in anticipo!

Modifica

Un chiarimento, non ho intenzione di memorizzare il nome utente e la password di nessuno. Piuttosto, quando un utente fa clic sul pulsante per accedere, con Facebook come esempio, sto considerando di mostrare "Sei tu?" digita finestra.

L'idea è che un utente risponda alla sfida accedendo a Facebook sull'account recuperato dall'hash di oauth, o accedendo all'account corretto e la richiamata di oauth venga eseguita con i nuovi dati di hash oauth.

    
posta BrMcMullin 29.11.2012 - 00:42
fonte

5 risposte

2

Risposta alla domanda aggiornata

Eviterei qualsiasi schema che richieda all'utente di digitare la propria password per i social media in qualsiasi punto dell'applicazione. Accantona molti utenti anche se ci metti una grande spiegazione accanto a quella che non stai memorizzando questa password o non la usi per nient'altro che una verifica una tantum. Dopo tutto, come sono sicuri di potersi fidare di te?

Una semplice pagina di conferma dovrebbe essere sufficiente per risolvere i tuoi dubbi nel tuo primo scenario (più account). Basta mostrarlo all'utente prima di iniziare a utilizzare l'account dei social media come loro identità.

L'approccio migliore per affrontare il secondo scenario potrebbe essere quello di consentire all'utente di aggiornare la propria identità. Quindi, se si rendono conto di essere registrati con l'account di qualcun altro (hanno fatto clic sulla pagina di conferma senza guardare), possono sempre tornare indietro e aggiornarlo.

Potresti anche controllare periodicamente le credenziali OAuth per vedere se la tua applicazione ha ancora accesso al loro account di social media e smettere di usarla per l'identità se non lo è. Ciò consentirà alla terza parte di revocare l'accesso nel secondo scenario.

Risposta originale

Mi sembra che gli utenti possano essere preoccupati per la tua applicazione chiedendo loro la password dei loro account. Ormai sono stati addestrati ad aspettarsi l'autenticazione basata su OAuth per la propria applicazione.

    
risposta data 29.11.2012 - 00:52
fonte
3

Sconfigge i vantaggi dell'autenticazione aperta se si richiede ancora all'utente di creare una nuova password. L'idea di oAuth è che l'utente gestisce la propria password su un'altra rete e non rivela mai la password al sito Web in cui sta effettuando l'accesso. Ciò migliora i tuoi tassi di iscrizione dal momento che si fidano del loro social network, ma potrebbe non conoscere molto bene il tuo sito web.

Un approccio alternativo è utilizzare oAuth per assistere nella registrazione degli utenti. Piuttosto, usa Facebook per accedere. Puoi usare Facebook per compilare campi comuni nel profilo dell'utente sul tuo sito web e poi farli accedere senza Facebook in seguito.

Il problema che stai descrivendo è una preoccupazione comune con gli approcci di oAuth, ma è un problema tra l'utente e Facebook. Dal momento che stanno utilizzando Facebook per l'accesso, è responsabilità dell'utente iscriversi sui terminali pubblici. Se falliscono, non è diverso da quel utente che si allontana con il proprio conto bancario aperto sulla pagina web o su altre importanti informazioni personali.

    
risposta data 29.11.2012 - 00:54
fonte
2

Ogni volta che vedi un'opportunità di NON richiedere all'utente di fare qualcosa, dovresti prenderla. E NON richiedere loro di truccare o riutilizzare una password è una situazione vantaggiosa per tutti: non li fai lavorare e non devi preoccuparti delle enormi spese di gestione di una violazione che perde le password.

L'intero scopo di permettere a qualcun altro di fare l'autenticazione è che non devi occuparti di tutto il bagaglio che viene fornito con esso.

    
risposta data 29.11.2012 - 03:17
fonte
0

Uno dei motivi per cui di solito non chiedono una password è il fatto che le persone non si fidano di fornire le password.

Le password vengono spesso riutilizzate sui siti. Pertanto, ogni volta che qualcuno immette una password per un nuovo sito, è potenzialmente in grado di fornire le proprie informazioni sensibili.

Un altro motivo per cui le password non vengono utilizzate è che ti stai fidando del sito con cui hai fatto OAuth per essere il tuo provider di autenticazione.

A meno che tu non intenda adeguatamente hash e sale le password, in realtà stai rimuovendo la sicurezza dagli utenti. Sinceramente se il tuo sito non funziona su SSL.

Non è impossibile, non è necessariamente una brutta cosa, ma potrebbe mandare via le persone.

La ragione finale è che rimuove un sacco di praticità nel single sign-in.

Commenti Generalmente è una buona idea interrompere la sessione attiva di qualcuno. Ciò interrompe per lo più la cosa del computer condiviso. Tuttavia, per qualche motivo questo non viene fatto normalmente con OAuth / OpenId

    
risposta data 29.11.2012 - 00:50
fonte
0

Rispondere alla modifica, non alla domanda originale. Sì, è perfettamente accettabile mostrare all'utente alcune delle proprie informazioni non sensibili per provare:

  1. Che sei il sito che dici di essere.
  2. Che il loro account è già associato.

Yahoo fa qualcosa di simile dove l'utente carica un'immagine che chiamano un sigillo di sicurezza. L'idea è che questa immagine provi che è yahoo con cui stanno comunicando.

Molti blog pubblicano l'immagine dell'account facebook attualmente connesso e rispondono come "Athas" quando tenti di commentare.

Su una scala di usabilità, potrebbe essere semplicemente meglio mostrarlo in qualsiasi area della pagina che si associa all'utente. Ad esempio, in stackexchange puoi vedere il tuo nome utente in alto.

Altrimenti è solo un cerchio in più per qualcuno da attraversare.

O fallo in base al tempo.

    
risposta data 29.11.2012 - 01:04
fonte

Leggi altre domande sui tag