ZendFramework и открытый идентификатор входа в систему, ZF обновлен? - PullRequest
2 голосов
/ 13 мая 2009

Я пытаюсь интегрировать логин openID в проект ZF (используя MVC) Я получаю неудачи. Когда я проследил код, я вижу, что ошибки происходят из: OpenId / Consumer.php (строка ~ 740). Эти строки пытаются проанализировать версию протокола открытого идентификатора от первого запроса к поставщику открытого идентификатора.
Регулярное выражение в ZF ожидает получения HTML с тегом LINK:

/<link[^>]*href=(["\ 

Хотя когда я смотрю на ответ, из Google, например, Я вижу, я получаю XML. Google URL, который я использую: https://www.google.com/accounts/o8/id

Результат, который я получаю оттуда:

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
  <XRD>
  <Service priority="0">
  <Type>http://specs.openid.net/auth/2.0/server</Type>
  <Type>http://openid.net/srv/ax/1.0</Type>

  <URI>https://www.google.com/accounts/o8/ud</URI>
  </Service>
  </XRD>
</xrds:XRDS>

Я использую неправильную ссылку на Google?

Ответы [ 2 ]

3 голосов
/ 15 мая 2009

Глядя на исходный код в ZF trunk , кажется, что в настоящее время обнаружение на основе XRDS не поддерживается:

/* TODO: OpenID 2.0 (7.3) XRI and Yadis discovery */

ZF в настоящее время поддерживает документ на основе HTML, и Google возвращает документ XDRS с адресом конечной точки и URL-адресом записи OpenId.

0 голосов
/ 09 сентября 2011

Я нашел патч для ZF, который выполняет большинство трюков http://ak33m.com/?p=71

...