我使用abraham/twitteroauth允許用戶通過他們的Twitter帳戶登錄。目前,我可以創建鏈接,讓他們進入鏈接,授權應用程序使用他們的詳細信息,返回網站並保存他們的user_id
並按預期訪問令牌。Twitter亞伯拉罕twitteroauth不斷要求許可
這很好,但是,當用戶然後註銷(清除會話,cookie等),然後單擊「使用Twitter登錄」按鈕時,它會再次要求他們獲得他們的許可,即使應用程序已經在其應用程序中註冊並擁有該權限。它不應該只是再次簽署他們嗎?
登錄鏈接生成使用代碼點火器所以忽略語法
$connection = new TwitterOAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
$request_token = $connection->oauth('oauth/request_token', array('oauth_callback' => RETURN_WEBSITE_URL));
$twitterOauth = array(
"oauth_token" => $request_token['oauth_token'],
"oauth_token_secret" => $request_token['oauth_token_secret'],
);
$this->session->set_userdata($twitterOauth);
$this->twitterLoginUrl = $connection->url('oauth/authorize', array('oauth_token' => $request_token['oauth_token']));
返回功能
$request_token = [];
$request_token['oauth_token'] = $this->session->userdata('oauth_token');;
$request_token['oauth_token_secret'] = $this->session->userdata('oauth_token_secret');;
if (isset($_REQUEST['oauth_token']) && $request_token['oauth_token'] !== $_REQUEST['oauth_token']) {
die("This isn't right.");
}
$connection = new TwitterOAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, $request_token['oauth_token'], $request_token['oauth_token_secret']);
$access_token = $connection->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));
我在做什麼錯誤?
非常感謝,非常簡單的更改已將問題排序! – Dan