1

到目前为止,我已经能够在 Google+ oAuth2、Yahoo oAuth2 甚至 myopenid 中传输状态。现在我正处于我的提供商登录项目的 Twitter 阶段。

我正在使用@jmathai 开发的三个类(此处为教程)。

我的登录代码看起来与此非常相似:

include 'EpiCurl.php';
include 'EpiOAuth.php';
include 'EpiTwitter.php';
$consumer_key = 'R4**Fw';
$consumer_secret = 'blp**Z8SA';

$Twitter = new EpiTwitter($consumer_key, $consumer_secret);

echo '<a href="' . $Twitter->getAuthorizeUrl() . '">
<img src="twitterButton.png" alt="sign in with twitter" />
</a>';

它工作得很好。但我需要传递一些状态参数,比如客户端 ID、原始页面 url 和其他一些垃圾。

我看不出这如何使用epicurl 库完成。

4

1 回答 1

1

回答我自己的问题。您可以传递整个查询字符串以及 url(尽管页面脚本应该与您在 Twitter 应用程序设置中指定的回调页面相同......我认为)。

include 'twitter-async-master/EpiCurl.php';
include 'twitter-async-master/EpiOAuth.php';
include 'twitter-async-master/EpiTwitter.php';

$consumer_key = 'R4kZPH********ZCtFw';
$consumer_secret = 'blp***********************klFcZ8SA';

$Twitter = new EpiTwitter($consumer_key, $consumer_secret);

$callback = "http://www.talqo.com/twittercallback.php?callback=".urlencode($_GET['callback'])."&domain=".urlencode($_GET['domain'])."&page=".urlencode($_GET['page'])."&tid=".urlencode($_GET['tid'])."&height=".urlencode($_GET['height'])."&width=".urlencode($_GET['height']);

$Twitter->setCallback($callback);

......这就是它的完成方式。

于 2013-07-03T00:55:48.447 回答