2011-03-22 4 views
1

J'ai récemment découvert LightOpenID que je vais utiliser comme système de connexion pour tous mes prochains sites Web. Comme je vais chercher des infos quand les utilisateurs s'enregistrent/se connectent avec LighOpenID, je voudrais savoir s'il est techniquement correct d'utiliser l'email de l'utilisateur comme identifiant unique dans ma table USERS ou si c'est une mauvaise idée?Stratégies de gestion des utilisateurs avec LightOpenID

Merci les gars,

FX

Répondre

0

Cela dépend de votre service. Normalement, chaque adresse email n'est attribuée qu'à une seule personne. Si plusieurs comptes par utilisateur ne sont pas souhaités, c'est OK. Certaines familles ont une adresse e-mail familiale. Mais je suppose qu'ils utiliseraient aussi le même compte. Pourquoi ne pas utiliser OpenID comme ID unique? OpenIDs sont uniques et vous obtenez l'OpenID avant d'obtenir le Email-Adresse, si vous utilisez uniquement pour la connexion OpenID

1

Réfléchit à considérer:.

  1. Il n'est pas obligatoire d'avoir un e-mail compte lié à votre compte OpenID.
  2. S'il existe une adresse électronique, vous n'êtes pas assuré de la récupérer du serveur, même si vous le demandez.
  3. Même si vous obtenez l'adresse, vous devez toujours la valider (par exemple, en envoyant un message électronique avec un jeton aléatoire).
  4. Les utilisateurs possèderont probablement plus d'un identificateur OpenID (vous êtes dans une telle situation dès que vous ouvrez des comptes sur certains services importants tels que Google ou Yahoo). Certains d'entre eux partageront la même adresse e-mail, d'autres pas, et certains n'auront même pas d'adresse e-mail.
  5. Lorsque l'utilisateur change son adresse e-mail dans les coulisses, il va perdre son compte sur votre site.
  6. L'utilisation de l'e-mail comme clé n'offre pas vraiment d'avantage que je puisse penser.

Mon conseil est que, si vous voulez utiliser OpenID, vous devriez le faire correctement. Lisez l'URL OpenID de $openid->identity() après une validation réussie et utilisez-la pour identifier l'utilisateur.

De plus:

  • Gardez à l'esprit que les URL peuvent être à long; n'essayez pas de l'insérer dans une colonne VARCHAR (100).
  • Vous pouvez implémenter des identités liées comme le fait Stack Overflow.
Questions connexes