forked from GNUsocial/gnu-social
		
	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:
		
										
											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')); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user