2010-11-16 3 views
0

J'ai regardé autour des didacticiels OpenID et je n'arrive pas à trouver quelque chose de vraiment simple et direct sur la façon d'ignorer un processus d'enregistrement et d'obtenir l'adresse e-mail de l'utilisateur pour PHP (ou n'importe quelle langue d'ailleurs). Est-ce juste trop nouveau ou manque-t-il simplement de contenu? Peut-être connaissez-vous un lien que je n'ai pas?Easy OpenID Implémentation

Répondre

3

Je ne suis pas sûr de ce que vous entendez par « comment ignorer le processus d'inscription ». Le processus d'enregistrement est défini dans votre application, et non dans OpenID.

OpenID est une base pour l'authentification déléguée: elle permet à chaque utilisateur de fournir un identifiant unique (l'URL d'identité) et permet de vous de vérifier que l'utilisateur fait vraiment posséder l'identifiant. Il existe des extensions, notamment SReg (enregistrement simple) et AX (échange d'attributs) pour permettre l'interrogation d'informations supplémentaires. Gardez à l'esprit que tous les fournisseurs d'identité ne les supportent pas.

Si je résumerai en 4 étapes OpenID simples:

  1. requêtes de l'utilisateur pour leur URL OpenID. Certains fournisseurs, tels que Google, vous permettent d'utiliser une URL générique et de déterminer automatiquement l'URL complète de l'utilisateur.
  2. Transmettez l'utilisateur au fournisseur pour qu'il confirme, généralement via une combinaison nom d'utilisateur/mot de passe, qu'il possède l'URL.
  3. Le fournisseur d'identité utilisera l'URL de retour que vous avez spécifiée à l'étape (2) et redirigera l'utilisateur avec la réponse.
  4. Analyser la réponse pour l'état succès/échec.

Si le fournisseur prend en charge SReg ou AX, vous devez les inscrire à la demande au cours (2) et d'analyser les attributs de retour à l'étape (4).

Modifier: si vous étiez pour enregistrer l'utilisateur, il serait fait après l'étape (4). La configuration que j'ai utilise les attributs retournés, le cas échéant, pour pré-remplir le formulaire d'inscription. Comme je l'ai dit, ce formulaire d'inscription peut être omis et vous pouvez générer un nom d'utilisateur automatiquement.

+0

Oui, c'est de cela que je parle, obtenir les données de l'utilisateur. J'ai du mal à trouver de bons exemples sur la façon d'obtenir les données de l'utilisateur. J'aimerais aussi voir un bon exemple sur la façon de valider un utilisateur. J'utilise LightOpenId car les autres API ressemblaient à un peu de surabondance – Webnet

+0

Je suis principalement intéressé par Google et Facebook – Webnet

+1

Facebook n'est pas un fournisseur OpenID. Ils vous permettent d'utiliser un OpenID existant pour vous connecter. Si vous souhaitez utiliser des comptes Facebook, vous devez consulter Facebook Connect. –

0

Leur wiki est plutôt décent. Cette page contient des implémentations pour plusieurs langues. Peut-être que cela aidera.

http://wiki.openid.net/w/page/12995176/Libraries

+0

C'est là que j'ai trouvé le LightOpenID que j'utilise, mais je ne peux pas demander à Google de me donner l'adresse e-mail d'un utilisateur ou toute autre information. – Webnet