VIRUS
Новичок
Здравствуйте, третий день ломаю голову над авторизацией на сайте с помощью google AuthSub.
По ссылке:
https://www.google.com/accounts/AuthSubRequest?next=http://<мой_домен>/login&hd=default&scope=http://www.google.com/calendar/feeds/&secure=0&session=1
я отправляю пользователя подтвердить авторизацию. Нажимаем "Я согласен" и google перенаправляет обратно с такой строкой:
http://<мой_домен>/login?token=<возвращаемый_маркер>
И как говорится в документации google authsub я отправляю в google такой запрос с помощью curl:
GET /accounts/AuthSubSessionToken HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="GD32CMCL25aZ-v____8B"
User-Agent: Java/1.5.0_06
Host: https://www.google.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Делюа это так:
Вот что получаю в результате:
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.com
Content-Length: 218
Date: Sat, 21 May 2011 11:44:09 GMT
Server: GFE/2.0
302 Moved
The document has moved
here. <-- http://google.com
вместо примерно такого результата:
Token=DQAA...7DCTN
Expiration=20061004T123456Z
Кто сталкивался с таким, что я делаю не так ? Куда копать ?
По ссылке:
https://www.google.com/accounts/AuthSubRequest?next=http://<мой_домен>/login&hd=default&scope=http://www.google.com/calendar/feeds/&secure=0&session=1
я отправляю пользователя подтвердить авторизацию. Нажимаем "Я согласен" и google перенаправляет обратно с такой строкой:
http://<мой_домен>/login?token=<возвращаемый_маркер>
И как говорится в документации google authsub я отправляю в google такой запрос с помощью curl:
GET /accounts/AuthSubSessionToken HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="GD32CMCL25aZ-v____8B"
User-Agent: Java/1.5.0_06
Host: https://www.google.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Делюа это так:
PHP:
$headers = array(
'GET /accounts/AuthSubSessionToken HTTP/1.1',
'Content-Type: application/x-www-form-urlencoded',
'Authorization: AuthSub token="'.$_GET['token'].'"',
'User-Agent: Java/1.5.0_06',
'Host: https://www.google.com',
'Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2',
'Connection: keep-alive',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://accounts.google.com/o/oauth2/token");
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://<мой_домен>/login");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$r = curl_exec($ch);
echo($r);
curl_close($ch);
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.com
Content-Length: 218
Date: Sat, 21 May 2011 11:44:09 GMT
Server: GFE/2.0
302 Moved
The document has moved
here. <-- http://google.com
вместо примерно такого результата:
Token=DQAA...7DCTN
Expiration=20061004T123456Z
Кто сталкивался с таким, что я делаю не так ? Куда копать ?