2009-03-14 2 views
0

Я использую библиотеку janRain Php для открытия OpenId и yadis и независимо от того, что я делаю, я буду работать в таких вещах, как user.openid.org или мой собственный провайдер, но если я попытаюсь использовать конечная точка google, я не могу получить информацию об обнаружении.Janrain php library и конечная точка google для OpenId

Даже если я запустить пример обнаружения для библиотеки JanRain, я получаю следующий результат заявляемого

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

и это происходит то же самое, если я добавить https: // перед URL.

Мой вопрос, вероятно, не в том, как заставить его работать, но если это действительно возможно, то какие у меня есть другие варианты (которые выполняются на моем сайте, без надобности в проекте).

Почему OpenId так # @! # @ Сложный и без документов? (Заметьте, я дал zend_openid пару часов, чтобы иметь тот же результат)

+0

Какую версию библиотеки JanRain PHP вы используете? – singpolyma

ответ

3

это работает здесь. некоторые намеки:

  • , как я понимаю, http(s)://www.google.com/accounts/o8/id не является конечной точкой OpenID, но Googles Discovery конечной точки. вы должны предоставить ему действительный (Google) OpenID идентификатор, как example.blogspot.com, для которых он возвращает Заявленный идентификатор, URL-адрес сервера, типы услуг и т.д.
  • я получил пример обнаружения работает только после закрепления <? и <?= в discover.php (заменяя их <?php и <?php echo). альтернативно, вы можете ini_set('short_open_tag', '1'). он отключен по умолчанию в php.ini-recommended.
  • поддерживает ли ваша поддержка PHP SSL? см README, а именно эта часть:
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

Вам нужно сделать запрос, направленный личности. Обычно это просто связано с передачей URL-адреса, как если бы пользователь ввел его ... это всегда работало для меня в прошлом (пока библиотека, которую вы используете, поддерживает OpenID2.0).

1

Это является законной говядиной. Google говорит, что они поддерживают OpenID, но их не работает как ANYONE elses. MyOpenID.com, blogspot, aol, yahoo, wordpress, myspace, livejournal и многие другие поддерживают стандарт правильно и работают так, как ожидалось. Как и ваш собственный поставщик OpenID, который вы можете создать с помощью проекта сервера CommunityID.

/sigh

+0

«Не работает как ANYONE else»! = «Не соответствует стандарту»; стандарт имеет справедливую свободу действий для интерпретации. –