Я использую 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"
Сообщите мне, хотите ли вы больше кода или данных.
Спасибо, Эрик Б.