2009-03-14 14 views
0

Im utilisant janRain Php bibliothèque pour OpenId et yadis découverte et peu importe ce que je fais, je vais travailler dans des choses comme user.openid.org ou mon propre fournisseur, mais si j'essaie d'utiliser le point final google, je ne peux pas obtenir des informations de découverte.Janrain php library et google endpoint pour OpenID

Même si je lance l'exemple de découverte pour la bibliothèque JanRain, je reçois le résultat suivant Réclamé

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

et il arrive même 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 sur mon site, aucune autorisation impertinente voulue dans le projet).

Pourquoi donc OpenId # @! # @ Complexe et sans papier? (Note, je lui ai donné Zend_OpenId quelques heures pour avoir le même résultat)

+0

Quelle version de la bibliothèque PHP JanRain utilisez-vous? – singpolyma

Répondre

3

il travaille ici. Quelques conseils:

  • que je comprends, http(s)://www.google.com/accounts/o8/id n'est pas un point final openid, mais googles découverte de point de terminaison. vous devez fournir un valide (Google) Identifiant OpenID, comme example.blogspot.com, pour laquelle il renvoie Réclamé identificateur, URL du serveur, les types de services, etc.
  • je suis l'exemple de découverte que de travail après la fixation du <? et <?= dans discover.php (les remplacer par <?php et <?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 prend-elle en charge SSL? voir 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.
0

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

1

C'est un boeuf légitime. Google dit qu'ils supportent OpenID, mais le leur ne fonctionne pas comme ANYONE elses. MyOpenID.com, blogspot, aol, yahoo, wordpress, myspace, livejournal et beaucoup d'autres soutiennent tous la norme correctement et cela fonctionne comme prévu. Comme votre propre fournisseur OpenID, vous pouvez construire en utilisant le projet de serveur CommunityID.

/sigh

+0

"Ne fonctionne pas comme quelqu'un d'autre"! = "N'est pas conforme à la norme"; la norme a un peu de latitude pour l'interprétation. –