8
votes

URL de Callback Twitter O-Auth

J'ai un problème avec l'authentification OAuth de Twitter et à l'aide d'une URL de rappel.

Je suis codant dans PHP et en utilisant le code exemple référencé par Twitter Wiki, http://github.com/ Abraham / Twitteroauth

J'ai reçu ce code et j'ai essayé un test simple et cela fonctionnait bien. Cependant, je souhaite spécifier de manière programmative l'URL de rappel et l'exemple n'a pas soutenu cela.

Donc, j'ai rapidement modifié la méthode GetReQuestToken () pour prendre un paramètre et on ressemble maintenant à ceci: xxx

et mon appel ressemble à ceci xxx

C'est le seul changement que j'ai fait et que la redirection fonctionne comme un charme, mais je Vous obtenez une erreur lorsque j'essaie ensuite d'utiliser mon accès nouvellement accordé pour essayer de passer un appel. Je reçois une erreur "Impossible d'authentifier". De plus, l'application n'a jamais été ajoutée aux connexions autorisées par les utilisateurs.

Je lis maintenant les spécifications et je pensais que tout ce que je devais faire était de spécifier le paramètre lors de l'obtention du jeton de la demande. Quelqu'un pourrait-il un peu plus assaisonné à Oauth et Twitter peut-il me donner une main? Merci


0 commentaires

5 Réponses :


-2
votes

Twitter n'honore pas le paramètre oauth_callback et n'utilisera que celui spécifié dans les paramètres d'application enregistrés.

Il n'autorise pas non plus les noms 127.0.0.1 ou localhost dans ce rappel, donc j'ai configuré http://dev.twipler.com qui est configuré pour 127.0.0.1 dans DNS afin que vous puissiez utiliser en toute sécurité; xxx


1 commentaires

Twitter prend en charge les URL dynamiques oauth_callback par oauth 1.0a. Outils.ief.org/html/RFC5849#Section-2.1



1
votes

@ian, Twitter permet désormais 127.0.0.1 et a apporté d'autres modifications récentes.

@jtymann, vérifiez ma réponse ici et voyez si cela aide

Twitter OAuth_Callback Paramètre ignoré!

gl

jingles


0 commentaires

1
votes

Même moi pour obtenir 401 erreurs .. mais c'est résolu .. Lors de l'enregistrement de votre application sur Twitter, vous devez donner une URL de rappel ... Comme http: // localhost: 8080 .

J'ai fait cela en utilisant Java ... Donc, mon code est: string callbackurl = "http: // localhost: 8080 / tweetproj / index.jsp"; fournisseur.retrievereQuetToken (consommateur, callbackurl);

Où TweetProj est mon nom de projet et index.jsp est juste une page JSP ...

J'espère que cela peut vous aider ...


0 commentaires

0
votes

Une fois l'utilisateur autorise l'application sur twitter.com et revenez à votre URL de rappel que vous devez échanger le jeton de demande pour un jeton d'accès.


0 commentaires

7
votes

Je pense que cela est réparé par Twitter en maintenant ou vous avez peut-être manqué de fournir une URL de rappel par défaut dans vos paramètres d'application, qui est nécessaire pour que l'URL de rappel dynamique soit mentionnée comme mentionné par d'autres personnes ci-dessus.

TOUT Vous avez suivi ce travail en passant le paramètre OATH_CALLBACK lors de la récupération du jeton de demande. J'utilise bibliothèque PHP Twitter-async PHP et devait faire un petit tweak pour faire passer la bibliothèque la URL de rappel / Pré>

et transmettez l'URL de rappel de votre code PHP. P>

$twitterObj->getAuthenticateUrl('http://localhost/twitter/confirm.php');


2 commentaires

Bravo - C'est exactement la modification dont j'avais besoin.


Pour toute personne intéressée, c'est maintenant une partie de Twitter-Async STIO