Bonjour,
J'utilise la librairie PHP Abraham Oauth pour effectuer une connexion à twitter via mon site.

J'ai fais beaucoup de tutos mais je ne comprend pas pour l'adresse de callback spécifiée n'est jamais appelée.

Le fichier "login.php" affiche correctement le formulaire d'authentification de twitter (cependant en anglais...). Lorsque je clique sur le bouton "Sign in" celà me redirige vers la page "https://api.twitter.com/oauth/authenticate" (c'est à dire la page elle-même!) au lieu de rediriger vers l'adresse de callback.
Cependant lorsque je clique sur le bouton "Cancel", celà appelle l'adresse de callback correctement.

J'ai donné l'adresse de callback à la méthode "getRequestToken" et spécifié cette même adresse les paramètres de l'application sur le site des développeurs Twitter. Sur ce site j'ai aussi spécifié les accès à "Read only" et j'ai coché "Allow this application to be used to Sign in with Twitter".

Voici mes fichiers:

login.php:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
session_start();
include_once("twitter-config.php");

include_once("lib/twitteroauth-master/twitteroauth/twitteroauth.php");


$connection = new TwitterOAuth($CONSUMER_KEY, $CONSUMER_SECRET);
$request_token = $connection->getRequestToken($OAUTH_CALLBACK); //get Request Token


if( $request_token)
{
    $token = $request_token['oauth_token'];
    $_SESSION['request_token'] = $token ;
    $_SESSION['request_token_secret'] = $request_token['oauth_token_secret'];


    switch ($connection->http_code) 
    {
        case 200:
            $url = $connection->getAuthorizeURL($token);
            //redirect to Twitter .
            header('Location: ' . $url); 
            break;
        default:
          print_r($connection->http_info);
            echo "<br/>Connection with twitter Failed<br/><br/> Date du serveur:" . date("M d Y H:i:s", time()) . " <br/> Date de Twitter: " . $connection->http_header['date'];
            break;
    }

}
else //error receiving request token
{
    echo "Error Receiving Request Token";
}
?>

twitter-config.php:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?php

/**
 * @file
 * A single location to store configuration.
 */

$CONSUMER_KEY = 'XXXXXXX';
$CONSUMER_SECRET = 'XXXXXXX';
$OAUTH_CALLBACK = 'https://www.xxxxx.com/preprod/users/twitter-signin/oauth.php';

?>
Merci d'avance à quiconque aurait une solution.