Ben, kullanıcıların YouTube hesabına erişim ihtiyacı web uygulaması geliştirmek için Google / YouTube API'leri kullanıyorum.
Normal güvensiz istekleri ince iş ve ben herhangi bir zorluk olmadan oturum belirteçleri bir zaman belirteçleri yükseltebilirsiniz. Ben denemek ve bir oturum belirteci güvenli bir belirteci yükselttiğinizde sorun geliyor, alıyorum:
ERROR - Token upgrade for CIzF3546351vmq_P____834654G failed : Token upgrade failed. Reason: Invalid AuthSub signature.
ben bu kullanın:
function updateAuthSubToken($singleUseToken)
{
try {
$client = new Zend_Gdata_HttpClient();
$client->setAuthSubPrivateKeyFile('/home/myrsakey.pem', null, true);
$sessionToken = Zend_Gdata_AuthSub::getAuthSubSessionToken($singleUseToken, $client);
$sessionToken = Zend_Gdata_AuthSub::getAuthSubSessionToken(trim($singleUseToken), $client);
//$client->setAuthSubToken($sessionToken);
} catch (Zend_Gdata_App_Exception $e) {
print 'ERROR - Token upgrade for ' . $singleUseToken
. ' failed : ' . $e->getMessage();
return;
}
$_SESSION['sessionToken'] = $sessionToken;
$date = gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
header('Authorization: AuthSub token="'.$_SESSION['sessionToken'].'" data="GET
https://www.youtube.com/auth_sub_request '.$date.' 15948652339726849410" '.
'sig="MIICXAIBAAKBgQDLJn/sr7TrmQpsEaL312k9dEpikVGFHbE+FjNg7/lfagkTZXf3'.
't96omgSEyZat2RcckVAGs9dU5kbGLJxEaW2ChQplzCKDi+20HZZo7C1QCluaMJ6b'.
...
'0pj+zWPy4T04PH3elN6EkhQ5Vxy5wbBkugqIDqfOKuM=" '.
'sigalg="rsa-sha1"');
}
Nonce: i ne olduğunu anlamıyorum onluk bir ASCII dizesi olarak kodlanmış rastgele bir 64-bit işaretsiz sayı! i koymak gerekir $ tarih (... '. $ tarih.' 15948652339726849410
"'...) sonra