0 votes

Bibliothèque php Janrain et endpoint google pour OpenId

J'utilise la bibliothèque Php janRain pour la découverte d'OpenId et de yadis et quoi que je fasse, je peux travailler avec des choses comme user.openid.org ou mon propre fournisseur, mais si j'essaie d'utiliser le point de terminaison google, je ne peux obtenir aucune information de découverte.

Même si j'exécute l'exemple de découverte pour la bibliothèque janrain, j'obtiens le résultat suivant Revendication

Identifier  http://www.google.com/accounts/o8/id
No OpenID services discovered.

et cela se produit de la même manière si j'ajoute le https:// avant l'url.

Ma question n'est probablement pas de savoir comment le faire fonctionner, mais si c'est réellement possible, quels autres choix ai-je (qui fonctionnent dans mon site, aucune authentification sassy n'est souhaitée dans le projet).

Pourquoi openId est-il si #@!#@ complexe et non documenté ?(note, j'ai donné quelques heures à zend_openid pour obtenir le même résultat).

3voto

ax. Points 22269

Ça marche ici. quelques conseils :

  • comme je le comprends, http(s)://www.google.com/accounts/o8/id n'est pas un point de terminaison openid, mais google découverte vous devez lui fournir un identifiant OpenID valide (google), comme par exemple example.blogspot.com pour lesquels il renvoie l'identifiant revendiqué, l'URL du serveur, les types de service, etc.
  • J'ai réussi à faire fonctionner l'exemple de découverte seulement après avoir corrigé l'élément <? y <?= en discover.php (en les remplaçant par <?php y <?php echo ). Alternativement, vous pouvez ini_set('short_open_tag', '1') . il est désactivé par défaut dans php.ini-recommended .
  • Votre installation PHP supporte-t-elle SSL ? README en particulier cette partie :

    Not all PHP installations support SSL. You can find out if yours supports SSL by reading the "HTTP Fetching" section of the output of "examples/detect.php." If your installation does not support SSL, then https:// identity URLs and server URLs will not be supported by the library. An attempt to use such an identity URL will be equivalent to using an invalid OpenID. To enable SSL support, recompile PHP with OpenSSL support or install the appropriate OpenSSL module for your platform. If you are using CURL, CURL will need to be built with OpenSSL support.

1voto

user356540 Points 11

C'est un problème légitime. Google dit qu'il prend en charge OpenID, mais le sien ne fonctionne pas comme celui de n'importe qui d'autre. MyOpenID.com, blogspot, aol, yahoo, wordpress, myspace, livejournal et bien d'autres supportent tous la norme correctement et cela fonctionne comme prévu. Tout comme votre propre fournisseur OpenID que vous pouvez construire en utilisant le projet de serveur CommunityID.

/soupir

0voto

singpolyma Points 5586

Vous devez faire une demande d'identité dirigée. Normalement, cela implique simplement de passer l'URL comme si l'utilisateur l'avait saisie... cela a toujours fonctionné pour moi dans le passé (tant que la bibliothèque que vous utilisez supporte OpenID2.0).

0voto

miguelSantirso Points 1020

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X