Я использую LightOpenID для аутентификации OpenID в Google Apps.Я делаю начальный запрос authURL (), и все хорошо.Я вызываю validate (), и это не удается.Через обильное эхо я отследил его до последних нескольких строк validate ().
Из validate () URL, переданный в Discover ($ url), равен https://www.google.com/accounts/o8/user-xrds?uri=http://my-domain.com/openid?id=117665028262121597341
Discover (), сначала проверяет местоположение xrds, которого нет.Затем Discover () проверяет, является ли тип содержимого xrds + xml, что является истинным.Discover () проверяет Сервис (. *) / Сервис, что верно.Вот фрагмент Service, / 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>
Discover () видит, что мы используем OpenID 2, и извлекает поле URI в переменную $ server.Discover () продолжает извлекать CanonicalID, обнаруживая, что Google поддерживает AX, а не SREG.Наконец, Discover () возвращает $ server как https://www.google.com/a/my-domain.com/o8/ud?be=o8
validate () продолжается путем очистки каждого поля в data [], в зависимости от магических_квот или нет.Он устанавливает openid.mode в значение 'check_authentication', запрашивает $ сервер, возвращаемый функцией Discover ($ url), и preg для '/ is_valid: true'.Это последний preg_match, который терпит неудачу.URL-адрес $ server не возвращает проверку, а вместо этого говорит: «Запрошенная вами страница недействительна».
Ответ, который я ищу, является правильным URL-адресом для проверки Служб Google.Через несколько секунд будет выглядеть URL-адрес, и я покопаюсь в информации, возвращаемой Службами Google, и посмотрю, есть ли у меня что-то подобное.
ДОБАВЛЕНО: Не уверен, имеет ли это значение, но у меня есть/.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"
Дайте мне знать, если вам нужно больше кода или данных.
Спасибо, Эрик Б.