On m'a confié la tâche de développer un système de connexion unique utilisant Twitter et je ne suis pas autorisé à utiliser des API tierces. Je suis cependant autorisé à utiliser CURL et PHP. Quelle serait la meilleure façon de faire cela. jusqu'à présent j'ai cela mais ça ne marche pas. Il génère l'erreur "Impossible de valider la signature et le jeton oauth"Twitter Single Sign On OAuth PHP sans API tierce
Je voudrais des conseils sur la façon de procéder.
$fields = array(
'oauth_callback' => 'http://www.mydomain.co.uk/redirect.php'
);
//url-ify the data for the POST
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string, "");
echo $fields_string;
$curl = curl_init("https://api.twitter.com/oauth/request_token");
//Send auth data to twiter
curl_setopt($curl, CURLOPT_POST, count($fields));
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields_string);
//Will return json object
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
//debugger
if($debug){
if(! curl_errno($curl)) {
$info = curl_getinfo($curl);
echo 'Took ' . $info[ 'total_time' ] . ' seconds to send a request to ' . $info[ 'url' ];
}
}
curl_close($curl);
echo $result;
"ça ne marche pas": Qu'est-ce qui ne fonctionne pas? Avez-vous des erreurs? – Tchoupi
Impossible de valider la signature et le jeton oauth –
Votre 'rtrim()' ne fait rien car vous avez fourni une chaîne vide. Vous devriez utiliser 'http_build_query()' pour encoder vos paramètres. 'CURLOPT_POST' attend un booléen. Vous devriez utiliser 'curl_error()' pour savoir ce qui se passe. Il peut y avoir quelque chose qui ne va pas avec les paramètres, mais nous ne les voyons pas. Pouvez-vous nous montrer quels paramètres vous incluez dans '$ fields'? – Tchoupi