Use "Sign in with Twitter" auth pattern and official Twitter button for Twitter-based login.
See: http://apiwiki.twitter.com/Sign-in-with-Twitter
This commit is contained in:
parent
e5bd707055
commit
7064d15e67
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB |
|
@ -50,9 +50,10 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
|
|||
*/
|
||||
class TwitterauthorizationAction extends Action
|
||||
{
|
||||
var $twuid = null;
|
||||
var $tw_fields = null;
|
||||
var $twuid = null;
|
||||
var $tw_fields = null;
|
||||
var $access_token = null;
|
||||
var $signin = null;
|
||||
|
||||
/**
|
||||
* Initialize class members. Looks for 'oauth_token' parameter.
|
||||
|
@ -65,6 +66,7 @@ class TwitterauthorizationAction extends Action
|
|||
{
|
||||
parent::prepare($args);
|
||||
|
||||
$this->signin = $this->boolean('signin');
|
||||
$this->oauth_token = $this->arg('oauth_token');
|
||||
|
||||
return true;
|
||||
|
@ -160,7 +162,7 @@ class TwitterauthorizationAction extends Action
|
|||
$_SESSION['twitter_request_token'] = $req_tok->key;
|
||||
$_SESSION['twitter_request_token_secret'] = $req_tok->secret;
|
||||
|
||||
$auth_link = $client->getAuthorizeLink($req_tok);
|
||||
$auth_link = $client->getAuthorizeLink($req_tok, $this->signin);
|
||||
|
||||
} catch (OAuthClientException $e) {
|
||||
$msg = sprintf('OAuth client cURL error - code: %1s, msg: %2s',
|
||||
|
|
|
@ -46,7 +46,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
|
|||
* @see SettingsAction
|
||||
*/
|
||||
|
||||
|
||||
class TwitterloginAction extends Action
|
||||
{
|
||||
function handle($args)
|
||||
|
@ -67,7 +66,7 @@ class TwitterloginAction extends Action
|
|||
|
||||
function getInstructions()
|
||||
{
|
||||
return _('Login with your Twitter Account');
|
||||
return _('Login with your Twitter account');
|
||||
}
|
||||
|
||||
function showPageNotice()
|
||||
|
@ -81,9 +80,11 @@ class TwitterloginAction extends Action
|
|||
|
||||
function showContent()
|
||||
{
|
||||
$this->elementStart('a', array('href' => common_local_url('twitterauthorization')));
|
||||
$this->element('img', array('src' => common_path('plugins/TwitterBridge/twitter_connect.gif'),
|
||||
'alt' => 'Connect my Twitter account'));
|
||||
$this->elementStart('a', array('href' => common_local_url('twitterauthorization',
|
||||
null,
|
||||
array('signin' => true))));
|
||||
$this->element('img', array('src' => common_path('plugins/TwitterBridge/Sign-in-with-Twitter-lighter.png'),
|
||||
'alt' => 'Sign in with Twitter'));
|
||||
$this->elementEnd('a');
|
||||
}
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ class TwitterOAuthClient extends OAuthClient
|
|||
{
|
||||
public static $requestTokenURL = 'https://twitter.com/oauth/request_token';
|
||||
public static $authorizeURL = 'https://twitter.com/oauth/authorize';
|
||||
public static $signinUrl = 'https://twitter.com/oauth/authenticate';
|
||||
public static $accessTokenURL = 'https://twitter.com/oauth/access_token';
|
||||
|
||||
/**
|
||||
|
@ -97,9 +98,11 @@ class TwitterOAuthClient extends OAuthClient
|
|||
*
|
||||
* @return the link
|
||||
*/
|
||||
function getAuthorizeLink($request_token)
|
||||
function getAuthorizeLink($request_token, $signin = false)
|
||||
{
|
||||
return parent::getAuthorizeLink(self::$authorizeURL,
|
||||
$url = ($signin) ? self::$signinUrl : self::$authorizeURL;
|
||||
|
||||
return parent::getAuthorizeLink($url,
|
||||
$request_token,
|
||||
common_local_url('twitterauthorization'));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user