Pourquoi Twitter renvoie-t-il un message "Impossible de valider la signature et le jeton oauth?"
Désolé pour vous troublent avec encore un autre "impossible de valider le protocole oauth signature et un jeton" erreur, mais je ne peux pas comprendre ce qui ne va pas avec ma demande.
Je suis de la construction de ma signature de cette chaîne:
POST&http%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Dhttp%3A%2F%2Fcraiga.id.au%2Ftwitter%2Fconnected%26oauth_consumer_key%3Dtm5...DOg%26oauth_nonce%3D8...22b%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1275453048%26oauth_version%3D1.0
De ce que je générer un 28 de caractère signature en utilisant le code PHP suivant:
base64_encode(hash_hmac('sha1', $raw, 'YUo...HIU' . '&', true));
À l'aide de cette signature, j'ai envoyer la requête suivante:
POST http://api.twitter.com/oauth/request_token HTTP/1.1
Host: api.twitter.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
Authorization: OAuth oauth_nonce="3D8...22b", oauth_callback="http%3A%2F%2Fcraiga.id.au%2Ftwitter%2Fconnected", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1275453048", oauth_consumer_key="tm5...DOg", oauth_signature="aYd...c6E%3D", oauth_version="1.0"
Content-Length: 266
Content-Type: application/x-www-form-urlencoded
oauth_callback=http%3A%2F%2Fcraiga.id.au%2Ftwitter%2Fconnected&oauth_consumer_key=tm5...DOg&oauth_nonce=3D8...22b&oauth_signature_method=HMAC-SHA1&oauth_timestamp= 1275453048&oauth_version=1.0
Je reçois la réponse suivante à partir de Twitter à cette demande:
HTTP/1.1 401 Unauthorized
Date: Wed, 02 Jun 2010 04:40:14 GMT
Server: hi
Status: 401 Unauthorized
X-Transaction: 1275453614-48409-7443
Last-Modified: Wed, 02 Jun 2010 04:40:14 GMT
X-Runtime: 0.01083
Content-Type: text/html; charset=utf-8
Content-Length: 44
Pragma: no-cache
X-Revision: DEV
Expires: Tue, 31 Mar 1981 05:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Set-Cookie: k=58.161.42.101.1275453614748615; path=/; expires=Wed, 09-Jun-10 04:40:14 GMT; domain=.twitter.com
Set-Cookie: guest_id=12754536147577949; path=/; expires=Fri, 02 Jul 2010 04:40:14 GMT
Set-Cookie: _twitter_sess=BAh7CToPY3JlYXRlZF9hdGwrCKaq9fYoAToRdHJhbnNfcHJvbXB0MDoHaWQi%250AJWU0ZDFhMGQzMWU0NTZjMzJiZWFkNWUzMTA4ZDRjOTg3IgpmbGFzaElDOidB%250AY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--f1e5c7649858a1694f24307504354846bbc1d16b; domain=.twitter.com; path=/
Vary: Accept-Encoding
Connection: close
Failed to validate oauth signature and token
Si quelqu'un peut jeter quelque lumière sur les raisons de ce qui pourrait être en défaut, je serais ravi de les entendre.
source d'informationauteur Craig Anderson
Vous devez vous connecter pour publier un commentaire.
Vous utilisez la mauvaise information pour générer la signature.
Vous devriez être en utilisant la ...
... pour générer la signature (Lire: 'POST' et l'URI de la demande)
Pour plus d'infos...voir Les Développeurs de Twitter: la Création d'une signature
Le problème existe pas de cause le temps de vous serveur pas synhronized avec twitter en temps
100% de la solution sur le serveur (pour la synchronisation de l'horloge)
et consulter twitter du temps avec
J'ai eu le même problème récemment, en essayant de se connecter à Twitter de Bec(Tempête); a synchroniser mon Ubuntu horloge à l'aide de:
sudo apt-get install ntp