2010-04-30 5 views
1

Je veux créer une connexion OpenID avec PHP comme on peut le trouver sur Stack Overflow. Je sais qu'il y a beaucoup de questions pour cela, mais la mienne est différente. Si j'ai bien compris, chaque OpenID est défini par une URL unique. Mais: Si j'appuie sur le bouton Google sur la page de connexion Stack Overflow, une URL générique est insérée dans le champ de texte. Est-ce l'URL directe du serveur OpenID? Et si c'est le cas, comment dois-je passer l'URL à this class?OpenID comme Stack Overflow

+1

Cette URL Google est appelée "OP Identifier", et oui, c'est l'identifiant qui déclenche la connexion avec Google. En ce qui concerne le fonctionnement de PHP, je n'ai aucune idée. :) –

Répondre

0

Dans les spécifications OpenID (section 7.3.1) il est dit

Aux fins de faire des demandes d'authentification OpenID, la valeur « http://specs.openid.net/auth/2.0/identifier_select » doit être utilisé à la fois comme l'identifiant Réclamé et l'identificateur OP locale lorsqu'un OP L'identifiant est entré.

Maintenant, ce que cela signifie essentiellement est qu'au lieu d'utiliser une « URL OpenID spécifique de l'utilisateur », vous pouvez utiliser une URL générique et indiquez simplement que le fournisseur d'identité doit fournir au retour ce que l'URL OpenID réelle de l'utilisateur est .

Notez qu'il s'agit d'une fonctionnalité d'OpenID 2.0! Beaucoup de bibliothèques là-bas sont encore 1.x qu'OpenID

HTH

0

Vous ne pouvez pas authentifier avec Google en utilisant SimpleOpenID. Cette bibliothèque ne supporte que OpenID 1.1, alors que Google ne supporte que OpenID 2.0.

0

Pour aller avec les autres réponses que SimpleOpenID ne fonctionne pas avec google. J'ai utilisé http://gitorious.org/lightopenid pour un projet récemment et cela fonctionne (et inclut un exemple pour google).

La bibliothèque fonctionne correctement dans php5 avec les erreurs/avertissements complets activés.

0

Le processus OpenID comprend plusieurs étapes. Le premier redirige le navigateur vers le fournisseur OpenID, puis l'utilisateur revient sur votre page et vous obtenez des informations à son sujet.

Parmi les retourné information, son OpenID est fourni. C'est le OpenID que vous recherchez, pas celui que l'utilisateur a écrit dans votre champ de texte.

Ce "OpenID" est seulement utilisé pour découvrir le fournisseur d'identité, rien de plus. C'est la raison pour laquelle vous pouvez simplement mettre yahoo.com dans une boîte OpenID et vous connecter avec yahoo.

Questions connexes