von Ralli12 |
Hallo Ori,
danke für Deinen Tipp. rawurlencode() hab ich nach meinem Post schon ausprobiert. Die erzeugte Signatur hat sich aber nicht geändert und bleibt daher falsch
Vielleicht sonst noch eine Idee?
Ralf |
von Ori |
Du musst schon rawurlencode() nehmen...
(siehe https://dev.twitter.com/docs/auth/percent-encoding-parameters ) |
von Ralli12 |
Hallo allerseits,
ich programmiere gerade ein Anwendung, welche die twitter API nutzen soll.
Dabei will ich aus mehreren Gründen keine vorhandene Klasse nutzen, sondern das selbst entwicklen.
Der Signatur base string wird richtig erstellt (habe ich auf dev.twitter.com mit dem OAuth tool geprüft).
Allerdings erzeugt mein Skript eine andere Signatur als das OAuth tool.
Da der Signatur base string richtig ist, können ja nur noch der Key oder das Hashen falsch sein.
Der Key besteht laut twitter-Anleitung ja nur aus dem URL-kodierten Consumer Secret, einem & und dem URL-kodierten Oauth Token Secret:
$key=urlencode(CONSUMER_SECRET)."&".urlencode(OAUTH_TOKEN_SECRET);
Da kann man also auch nicht wirklich viel falsch machen. Und mein Consumer Secret und Oauth Token Secret sind original noch nicht URL-encoded. Somit kann der Fehler des doppelten URL-kodierens ausgeschlossen werden.
Also kann es eigentlich nur noch am Hashen liegen. Das hab ich so gemacht:
$signatur=urlencode(base64_encode(hash_hmac("sha1",$signaturbasestring,$key,TRUE)));
Was mache ich falsch?
Bin für jeden Tipp dankbar.
Liebe Grüße
Ralf
|
|