]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
interim commit after pull from server
authorEvan Prodromou <evan@prodromou.name>
Fri, 30 May 2008 14:23:24 +0000 (10:23 -0400)
committerEvan Prodromou <evan@prodromou.name>
Fri, 30 May 2008 14:23:24 +0000 (10:23 -0400)
darcs-hash:20080530142324-84dde-782c9f04f551447514f1557b9e80f8461a17771f.gz

actions/accesstoken.php
actions/login.php
actions/requesttoken.php
actions/userauthorization.php
doc/README
lib/oauthstore.php
lib/omb.php
lib/util.php

index 6bb0e1561b3d3bfd3aee8159facd50f072a3794c..4f683ba24f65ab0491783c3c0040d115e3d1005a 100644 (file)
@@ -24,7 +24,7 @@ class AccesstokenAction extends Action {
                parent::handle($args);
                try {
                        $req = OAuthRequest::from_request();
-                       $server = common_oauth_server();
+                       $server = omb_oauth_server();
                        $token = $server->fetch_access_token($req);
                        print $token;
                } catch (OAuthException $e) {
index 9f9c473b513d3436316f8b0dd9035f405ca47fda..d25d59cf73c08d034dc010d1f7db220d587c4552 100644 (file)
@@ -44,9 +44,16 @@ class LoginAction extends Action {
                                return;
                        }
                        # success!
-                       common_redirect(common_local_url('all',
-                                                                                        array('nickname' =>
-                                                                                                  $nickname)));
+                       $url = common_get_returnto();
+                       if ($url) {
+                               # We don't have to return to it again
+                               common_set_returnto(NULL);
+                       } else {
+                               $url = common_local_url('all',
+                                                                               array('nickname' =>
+                                                                                         $nickname));
+                       }
+                       common_redirect($url);
                } else {
                        $this->show_form(_t('Incorrect username or password.'));
                }
index 92b4c423422f53c66cd1f97acbe466e1cc1427e4..0e233ff1794d1ab094a814db94b841e6feaf8109 100644 (file)
@@ -26,7 +26,7 @@ class RequesttokenAction extends Action {
                parent::handle($args);
                try {
                        $req = OAuthRequest::from_request();
-                       $server = common_oauth_server();
+                       $server = omb_oauth_server();
                        $token = $server->fetch_request_token($req);
                        print $token;
                } catch (OAuthException $e) {
index cc7ec85a51c5937dc926eb414ba3e77274f7cf77..ee156bd79eef606e7fc3465b1a4f1d4965767d5d 100644 (file)
@@ -29,7 +29,10 @@ class UserauthorizationAction extends Action {
                        try {
                                $req = $this->get_request();
                                $server = common_oauth_server();
-                               list($consumer, $token) = $server->verify_request($req);
+                               $server->get_version($req);
+                               $consumer = $server->get_consumer($req);
+                               $token = $server->get_token($req, $consumer, "request");
+                               $server->check_signature($req, $consumer, $token);
                        } catch (OAuthException $e) {
                                $this->clear_request();
                                common_server_error($e->getMessage());
@@ -39,7 +42,8 @@ class UserauthorizationAction extends Action {
                        if (common_logged_in()) {
                                $this->show_form($req);
                        } else {
-                               common_return_to(common_local_url('userauthorization'));
+                               # Go log in, and then come back
+                               common_set_returnto(common_local_url('userauthorization'));
                                common_redirect(common_local_url('login'));
                        }
                }
@@ -56,7 +60,9 @@ class UserauthorizationAction extends Action {
                if (!$req) {
                        # XXX: may have an uncaught exception
                        $req = OAuthRequest::from_request();
-                       $this->store_request($req);
+                       if ($req) {
+                               $this->store_request($req);
+                       }
                }
                return $req;
        }
@@ -69,6 +75,7 @@ class UserauthorizationAction extends Action {
        
        function send_authorization() {
                $req = $this->get_request();
+               
                if (!$req) {
                        common_user_error(_t('No authorization request!'));
                        return;
index 28ff06959227f9ea84de7a95562c4c625a39cf36..ad73329694057967174ac94d47764cd3e80d525d 100644 (file)
@@ -9,5 +9,7 @@ This package requires PHP 5.x and the following PHP Pear libraries:
   use the openidenabled.com libraries for OpenID auth sometime in the
   future. Note that this is no longer distributed separately; it's only
   in the openidenabled.com OpenID PHP tarball.
-  
+  http://openidenabled.com/php-openid/
+- OAuth.php from http://oauth.googlecode.com/svn/code/php/
+- markdown.php from http://michelf.com/projects/php-markdown/ 
   
index a622647b72468ae078cb57fd789404cf2df29b8d..4d2ce9a58d50c1308eb28304df5dc75252c6f61d 100644 (file)
@@ -23,7 +23,7 @@ require_once(INSTALLDIR.'/lib/omb.php');
 
 class LaconicaOAuthDataStore extends OAuthDataStore {
 
-       # We just keep a record of who's contacted us
+       # We keep a record of who's contacted us
        
        function lookup_consumer($consumer_key) {
                $con = new Consumer('key', $consumer_key);
index b68d08abf93da388739aecae726c60e9e84536b3..df4ffb4b2a2410da4beecbb897ea0f6db00a2479 100644 (file)
@@ -20,6 +20,7 @@
 if (!defined('LACONICA')) { exit(1); }
 
 require_once('OAuth.php');
+require_once(INSTALLDIR.'lib/oauthstore.php');
 
 define('OAUTH_NAMESPACE', 'http://oauth.net/core/1.0/');
 define('OMB_NAMESPACE', 'http://openmicroblogging.org/protocol/0.1');
@@ -44,6 +45,14 @@ function omb_oauth_consumer() {
        return $con;
 }
 
+function omb_oauth_server() {
+       static $server = null;
+       if ($server) {
+               $server = new OAuthServer(new LaconicaOAuthStore());
+       }
+       return $server;
+}
+
 function omb_hmac_sha1() {
        static $hmac_method = NULL;
        if (!$hmac_method) {
index 30bd4d3aec96dd11ef8f8282b223c0a56cacf71d..2d4fc276670d485eff9a36ca2cd5e421fd45f546 100644 (file)
@@ -525,6 +525,16 @@ function common_mtrand($bytes) {
        return $enc;
 }
 
+function common_set_returnto($url) {
+       common_ensure_session();
+       $_SESSION['returnto'] = $url;
+}
+
+function common_get_returnto() {
+       common_ensure_session();
+       return $_SESSION['returnto'];
+}
+
 function common_timestamp() {
        return date('YmdHis');
 }