谷歌帐户的不同身份验证令牌

时间:2012-03-28 11:00:31

标签: android android-c2dm google-authentication

我使用cURL获取了一个php代码,以获取Gmail帐户的Google身份验证令牌。我将它用于C2DM。每次我运行该脚本时,我都会收到一个不同的身份验证令牌。我认为每个谷歌帐户都有一个身份验证令牌,有时只会刷新。但正如我所说,我每次都会得到不同的令牌。我该如何管理如此频繁更改令牌?什么是更好的使用令牌的方式?

这是我用来为我的Gmail帐户获取AUTH TOKEN的代码。

<?php
$ch_cl = curl_init();

curl_setopt($ch_cl, CURLOPT_URL, "https://www.google.com/accounts/ClientLogin");
curl_setopt($ch_cl, CURLOPT_FOLLOWLOCATION, true);

$data_cl = array('accountType' => 'GOOGLE',
    'Email' => 'xxxxxx@gmail.com',
    'Passwd' => 'xxxxxxxx',
    'source'=>'xxx-xxx-0.1',
    'service'=>'ac2dm'
);

curl_setopt($ch_cl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch_cl, CURLOPT_POST, true);
curl_setopt($ch_cl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch_cl, CURLOPT_POSTFIELDS, $data_cl);

$cLresponse = curl_exec($ch_cl);
// echo $cLresponse;
curl_close($ch_cl);
//parse the $cLresponse and pick out the clientLogin 'Auth' token
$cLrespArrys = explode("\n", $cLresponse);
$authStr = explode("=", $cLrespArrys[2]);

// echo "return is:<br>" . $authStr[0] . "=" . $authStr[1];

$auth = $authStr[1];

echo "<br><br>" . $auth;
?>

此处$ auth包含已发出的AUTH TOKEN。

1 个答案:

答案 0 :(得分:0)

对于C2DM,每次向C2DM服务注册时都会生成身份验证令牌。在将特定设备注册到C2DM服务后获得身份验证令牌后,只要C2DM服务器不刷新它,您就可以使用相同的身份验证令牌与注册的设备进行通信。检查C2DM site。您拥有的PHP代码可能每次都可能调用C2DM注册服务。希望这有帮助。