Подтвердить что ты не робот

Ошибка LightOpenID validate() в Google Apps

Я использую LightOpenID для аутентификации OpenID в Google Apps. Я делаю первоначальный запрос authURL(), и все хорошо. Я вызываю validate(), и он терпит неудачу. Через обильное эхо, я отследил его до последних нескольких строк validate().

Из validate() URL-адрес, переданный в обнаружение ($ url), равен https://www.google.com/accounts/o8/user-xrds?uri=http://my-domain.com/openid?id=117665028262121597341

Discover() сначала проверяет местоположение xrds, которого нет. Discover() next проверяет, является ли тип содержимого xrds + xml, который является истинным. Discover() для Службы (. *)/Service, что верно. Вот фрагмент Сервиса/Сервис

<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/signon</Type> 

<Type>http://openid.net/srv/ax/1.0</Type>
<Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type>
<Type>http://specs.openid.net/extensions/ui/1.0/icon</Type>
<Type>http://specs.openid.net/extensions/pape/1.0</Type>
<URI>https://www.google.com/a/<my domain>.com/o8/ud?be=o8</URI>
</Service>

find() видит, что мы используем OpenID 2 и извлекаем поле URI в переменную $server. Discover() продолжает извлекать CanonicalID, обнаружив, что Google поддерживает AX, а не SREG. Наконец, find() возвращает $server как https://www.google.com/a/my-domain.com/o8/ud?be=o8

validate() продолжается очисткой каждого поля в данных [], в зависимости от magic_quotes или нет. Он устанавливает openid.mode в 'check_authentication', запрашивает $server, возвращаемый обнаружением ($ url) и preg для '/is_valid: true'. Это последний preg_match, который терпит неудачу. URL-адрес $server не возвращает проверку, но вместо этого говорит: "Запрошенная вами страница недействительна".

Ответ, который я ищу, - это правильный URL-адрес для проверки Google Apps. Ближайшей секундой будет то, на что должен выглядеть URL-адрес, и я буду копаться в информации, возвращаемой Google Apps, и посмотреть, есть ли у меня что-то подобное.

ADDED: Не уверен, что это имеет значение, но у меня есть файл /.well-known/host-meta. Вот содержание: Link: <https://www.google.com/accounts/o8/site-xrds?hd=my-domain.com>; rel="describedby http://reltype.google.com/openid/xrd-op"; type="application/xrds+xml"

Сообщите мне, хотите ли вы больше кода или данных.

Спасибо, Эрик Б.

4b9b3361

Ответ 1

Убедитесь, что расширение PHP curl установлено на вашем сервере. В последнее время мы столкнулись с такими же симптомами в производстве, и это связано с проблемой предоставления серверов.

Если вы используете приложение на Debian, просто используйте:

apt-get install php5-curl