Quels sont les avantages et les inconvénients de l'utilisation d'une adresse email comme identifiant d'utilisateur?

Je crée une application web qui nécessite un enregistrement / authentification,et j'envisage d'utiliser une adresse e-mail comme identifiant utilisateur unique. Voici ce que je vois comme les avantages et les inconvénients (mis à jour avec des réponses):

AVANTAGES

  1. Un champ de moins à remplir lors de l'inscription (il s'agirait simplement d'une adresse e-mail, d'un mot de passe et d'un mot de passe de vérification). Je suis un grand fan de l'enregistrement minimaliste.

  2. Une adresse e-mail est plus facile à retenir. (merci Mitch , Jeremy)

  3. Vous n'avez pas à vous soucier de votre nom d'utilisateur préféré déjà pris-vous êtes le seul à utiliser votre adresse e-mail. (merci TStamper)

Contre

  1. L'Utilisateur a plus à taper chaque fois qu'ils se connectent.

  2. Si un utilisateur veut plusieurs comptes? Ils auront besoin d'une autre adresse e-mail. (Est-ce que je veux même qu'un utilisateur puisse créer plusieurs comptes?)

  3. Facile pour un attaquant potentiel à deviner (s'ils connaissent l'adresse e-mail de la cible, ils connaissent l'id de connexion). (merci Vasil)

  4. Les utilisateurs peuvent être tentés d'utiliser le même mot de passe qu'ils utilisent pour leur compte de messagerie, ce qui est une mauvaise sécurité. (merci Thomas)

  5. Si vous changez fréquemment d'adresse e-mail, il peut être difficile de se rappeler quelle adresse vous avez utilisé pour vous inscrire à un site après une longue pause. (merci singe logiciel)

  6. Un le pirate pourrait spammer le formulaire d'inscription et utiliser les réponses "email déjà prises" pour générer une liste d'e-mails valides. (merci David)

  7. Tout le monde n'a pas d'adresse e-mail. (merci Nicolas)

Si je suis allé avec email comme id, Je fournirais un mécanisme pour lui permettre d'être changé dans le cas où un utilisateur change d'adresse. Dans ce cas, les utilisateurs ne publieraient pas de contenu sur un site public, de sorte qu'un nom d'utilisateur distinct ne sera pas nécessaire pour protéger le adresses e-mail (mais il est quelque chose à considérer pour d'autres sites).

Une autre option consiste à implémenter OpenID (qui est un tout autre débat).

Cela semble fonctionner pour Google, mais leurs services sont étroitement intégrés. Qu'ai-je raté dans mon analyse? Avez-vous des recommandations? Quelqu'un a-t-il des expériences à partager?

ÉDITION FINALE

Merci à tous pour vos réponses. J'ai décidé d'utiliser l'email comme identifiant, mais alors permettre la création d'un nom d'utilisateur à des fins de connexion après l'inscription. Cela permet un peu de flexibilité tout en gardant l'enregistrement aussi court que possible. Il empêche également les problèmes lorsqu'un utilisateur change d'adresse e-mail (il peut simplement se connecter avec son nom d'utilisateur et le mettre à jour). Je mettrai également en œuvre des méthodes pour empêcher le forçage Brutal des adresses e-mail des systèmes d'enregistrement et de connexion (principalement une période de refroidissement après des tentatives répétées).

66
demandé sur Community 2009-03-15 05:45:12

15 réponses

J'ai tendance à ne pas préférer les listes pro/con, et plutôt essayer de penser aux avantages et aux défis.

Défi:

Certains utilisateurs seront tentés d'utiliser leur adresse e-mail de leur FAI. Lien vers un seul e-mail, peut être difficile pour les utilisateurs qui oublient de mettre à jour leur e-mail dans tous les sites web qu'ils ont signé pour avant qu'ils changent FAI.

À la place:

Vous devriez envisager d'autoriser un utilisateur à fournir plusieurs adresses, ainsi que l'id sélectionné par l'utilisateur, puis laisser l'utilisateur décide ce qu'il veut qu'il souhaite faire. Peut-être aussi envisager de permettre à l'utilisateur de fournir un compte OpenID.

4
répondu Zoredache 2009-03-15 03:20:13

Personnellement, je préfère simplement utiliser mon adresse e-mail comme nom d'utilisateur. C'est une chose de moins à retenir, et je n'ai jamais à m'inquiéter que mon nom préféré soit déjà pris.

Juste mes 2 cents!

31
répondu Jeremy 2009-03-15 02:49:16

Je pense que vous avez manqué un PRO:

Les utilisateurs sont susceptibles de se souvenir de leur adresse e-mail; et comme les adresses e-mail sont uniques, ils n'ont jamais à se soucier de leur nom d'utilisateur préféré étant déjà pris.

25
répondu Mitch Wheat 2014-05-26 02:38:47

Inconvénients

  1. Lorsque le même mot de passe est utilisé pour le compte e-mail, compromettant l'un signifie automatiquement compromettre l'autre.
12
répondu Thomas 2009-03-15 02:49:48

En tant qu'utilisateur de sites web, Je peux vous dire que je déteste mémoriser les noms d'utilisateur inutiles. Je n'utilise pas de poignée unique ou quoi que ce soit, donc je ne me souviens jamais de la variation de mon nom que j'ai utilisée qui n'a pas déjà été prise. Je préfère taper mon adresse e-mail.

Aussi, J'aime OpenID.

11
répondu BC. 2009-03-15 02:48:56

CON: tout le monde n'a pas d'adresse e-mail. Considérez si votre base de données est jamais accessible par une application interne. Si vous gérez un magasin, people appellera et passera une commande par téléphone et refusera de fournir une adresse e-mail. Ainsi, tout en ayant une adresse e-mail que L'ID utilisateur par défaut est cool, assurez-vous de permettre aux remplaçants d'entrer dans le système. (Bien sûr, cela dépend du contexte.)

Appris celui-ci à la dure.

11
répondu Nicholas Piasecki 2009-03-15 04:20:51

Une configuration que vous voudrez peut-être considérer: avoir à la fois un nom d'utilisateur et un e-mail. L'e-mail est utilisé pour se connecter et est toujours gardé privé, le nom d'utilisateur est utilisé pour identifier l'utilisateur dans toute interaction publique, comme la publication d'un commentaire. Il finit par être légèrement plus sûr que les deux moitiés des identifiants de connexion de l'utilisateur sont gardés privés, alors que si vous utilisez un nom d'utilisateur pour la connexion et l'identification publique, la moitié de la connexion est déjà connue.

Je suis certainement d'accord avec vous pour avoir enregistrement minimal pour la plupart des cas, mais en fonction de ce que vous faites, vous voudrez peut-être équilibrer cela par une sécurité accrue pour vos utilisateurs. Quatre champs ne sont pas scandaleux pour l'INSCRIPTION, (NOM d'utilisateur, email, Mot de passe, Confirmer le mot de passe), et si vous vous sentez particulièrement aventureux, vous pouvez le réduire à trois en laissant tomber le champ Confirmer le mot de passe, ou deux en leur envoyant un mot de passe qu'ils peuvent changer plus tard.

3
répondu VirtuosiMedia 2009-03-17 17:38:42

PRO

Les gens détestent avoir à créer un nom unique qui correspond à leur identifiant et qui n'a pas déjà été pris pour s'inscrire à un site..So c'est pourquoi l'id utilisateur comme adresse e-mail est ainsi adopté.

Ex : TStamper1930, qui veut réellement se souvenir de 1930 à la fin de mon nom que je voulais vraiment

2
répondu TStamper 2009-03-15 02:53:43

CON: Si un pirate peut essayer d'enregistrer des adresses e-mail aléatoires en masse, il sera en mesure de déterminer lesquelles de ces adresses sont valides en fonction des enregistrements qui échouent. Ceci est une tactique qui peut être utilisé pour mettre en place des listes d'adresses e-mail valides connues, qui sont un produit chaud sur le marché noir de spam.

Bien que maintenant que j'y pense, c'est un problème qui affecte tout site web qui demande une adresse e-mail dans le cadre du processus d'inscription, peu importe s'il y a ou non un nom d'utilisateur séparé. Mais c'est encore quelque chose à penser.

2
répondu David Z 2009-03-15 03:13:02

CON: {[2] } si je change mon adresse e-mail, soudainement tous les noms de mon compte ne sont pas valides. Mon nom ne change pas, mais mon email le fait souvent. J'ai parfois revisitée d'un site après un certain nombre d'années, et coincé... quelle était mon adresse e-mail il y a deux ans???

2
répondu Lawrence Dol 2009-03-15 03:15:43

S'en tenir aux adresses e-mail ils sont utilisés partout, en fait la plupart des principaux sites Web les utilisent, ils sont uniques afin qu'ils évitent à l'utilisateur de lutter pour trouver un nom qui n'est pas utilisé par d'autres, les utilisateurs n'oublieront pas leurs adresses e-mail (dans la plupart des cas au moins :)), ce qui est différent des noms d'utilisateur qu'ils continueront à oublier s'ils ne visitent pas votre site très souvent.

Vous ne devriez pas vous inquiéter qu'ils soient trop longs comme tous les principaux navigateurs (IE, FF .. etc) offre saisie semi-automatique des formulaires qui est activé par défaut, de sorte que vous tapez les premières lettres dans votre e-mail et vous obtenez une liste déroulante (ie. liste de saisie semi-automatique) où vous cliquez simplement pour entrer l'e-mail entier, personnellement, je ne tape presque jamais l'adresse e-mail dans son intégralité, je tape toujours les premières lettres, puis sélectionnez l'e-mail dans la liste déroulante de saisie semi-automatique. En outre, si vous autorisez les utilisateurs à se souvenir (en utilisant une case à cocher Se souvenir de moi et des cookies persistants), Ce sera une autre raison de ne pas s'inquiéter il.

Je ne connais pas votre application, mais généralement les utilisateurs ayant plusieurs comptes n'est pas souhaitable dans la plupart des applications.

2
répondu Waleed Eissa 2009-03-15 04:10:13

Un con pourrait être que s'il s'agit d'une adresse e-mail, la connexion peut être devinée par des personnes et des attaques par force brute tentées. Ce qui n'est pas vraiment un gros problème, puisque sur la plupart des sites aujourd'hui les connexions sont affichées publiquement.

Le plus grand pro est que les connexions sont plus faciles à retenir de cette façon.

1
répondu Vasil 2009-03-15 02:50:01

Une bonne configuration consiste à exiger le nom d'utilisateur et l'email. Permettre à l'utilisateur de se connecter avec une adresse e-mail ou un nom d'utilisateur est très convivial. Un avantage supplémentaire est que l'utilisateur peut modifier son adresse e-mail. Cela permettrait également plusieurs comptes pour un seul e-mail.

1
répondu Cadoo 2009-03-15 03:45:48

Pour résoudre votre élément con de l'e-mail étant trop long à taper à chaque fois. J'ai implémenté la bibliothèque StringScan Ruby.

require 'strscan'    
def signup!(user, &block)    
self.email = user[:email] unless user[:email].blank?    
str = StringScanner.new(self.email)    
str.scan_until(/@/)    
str.pre_match    
self.login = str.pre_match

Etc..

Ensuite, il suffit de changer la méthode de connexion pour permettre à email ou login de correspondre au mot de passe.

Cela fonctionne comme google ou mobileme. Un utilisateur peut choisir de taper simplement son nom d'utilisateur e-mail (ie. nom d'utilisateur au lieu de username@gmail.com.)

1
répondu Steve 2012-12-31 09:00:40

Si vous ne vous souciez pas de forcer vos utilisateurs à se connecter à votre application avec Facebook ou un autre réseau social (la plupart des gens ne semblent pas s'en soucier), vous pouvez simplement utiliser leur e-mail de réseau social comme "ID utilisateur" lors du référencement d'autres tables/documents (MySQL, Mongo, etc.).

J'ai remarqué que le bonus à l'utilisation des connexions de médias sociaux est que toute la sécurité a été prise en charge par ledit réseau social, y compris ne pas permettre aux utilisateurs 2 d'avoir le même email ou nom d'utilisateur dans leur base de données vous épargnant ainsi les tracas d'avoir à coder pour tout cela. C'est juste ma préférence personnelle.

0
répondu Brett84c 2016-05-02 17:18:40