Почему моя конечная точка Google всегда одинакова? - PullRequest
0 голосов
/ 16 марта 2010

всегда: https://www.google.com/accounts/o8/ud

Я получил WordPress OpenID хорошо. так что я думаю, что это просто фаза открытия, есть некоторые проблемы ..

<?php $ch = curl_init();



$url = 'https://www.google.com/accounts/o8/id';
 $url = $url.'?';
 $url = $url.'openid.mode=checkid_setup';
 $url = $url.'&openid.ns=http://specs.openid.net/auth/2.0';
 $url = $url.'&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select';
 $url = $url.'&openid.identity=http://specs.openid.net/auth/2.0/identifier_select';
 $url = $url.'&openid.return_to='.site_url().'/user/openid/login_callback';
 $url = $url.'&openid.realm=http://www.example.com/';


 // set url
 curl_setopt($ch, CURLOPT_URL, $url);

 //return the transfer as a string
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER,array("Accept: */*"));
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

 // $output contains the output string
 $xdr = curl_exec($ch);
 if (!$xdr) {
  die(curl_error($ch));
 }
 // close curl resource to free up system resources
 curl_close($ch);
 $xml = new SimpleXMLElement($xdr);

 $url = $xml->XRD->Service->URI;
 $request = $connection->begin($url);

$ запрос всегда нулевой ...

Ответы [ 3 ]

0 голосов
/ 16 марта 2010

Ваш вопрос имеет правильный URL-адрес конечной точки (тот, который заканчивается на /ud), но ваш пример кода отправляет запрос на идентификатор идентификатора (/id), а не URL-адрес конечной точки.

0 голосов
/ 17 марта 2010

Мой код выше возвращает https://www.google.com/accounts/o8/ud в $ url, что на самом деле правильно

проблема в том, что вам не нужно использовать openid php lib, просто перенаправьте пользователя на https://www.google.com/accounts/o8/ud со строкой запроса, например:

https://www.google.com/accounts/o8/ud?openid.mode=checkid_setup&......

0 голосов
/ 16 марта 2010

Взгляните на http://blog.stackoverflow.com/2009/11/google-offers-named-openids/, где Джефф объясняет это поведение и что пользователь может с этим поделать:

Что ж, хорошие новости в том, что теперь вы можете!Google только что подарил нам фантастический подарок на День Благодарения в виде Профилей Google с поддержкой OpenID.А с помощью профиля Google вы можете выбрать именованный URL по вашему выбору!
...