use factory method for oauthprovider
authorChristian Weiske <cweiske@cweiske.de>
Thu, 21 Aug 2014 15:09:07 +0000 (17:09 +0200)
committerChristian Weiske <cweiske@cweiske.de>
Thu, 21 Aug 2014 15:09:07 +0000 (17:09 +0200)
controller/apicontroller.php
controller/oauthcontroller.php
lib/oauth.php

index 4c7af4856d379703bc922a52b0d69a890c0e9b68..aa21429d4c56811d7654668af0105521490a30f8 100644 (file)
@@ -67,7 +67,7 @@ class ApiController extends Controller
         $urlGen = $deps->urlGen;
 
         try {
-            $provider = new \OAuthProvider();
+            $provider = OAuth::getProvider();
             $oauth->registerHandler($provider)
                 ->registerAccessTokenHandler($provider);
             $provider->checkOAuthRequest(
index d02b7b8b46a5a4fc214e2f3e5fe5afa11235f870..29198bc1a2f9d120240ec291f09cf114f9828a13 100644 (file)
@@ -72,7 +72,7 @@ class OauthController extends Controller
         $urlGen = $this->deps->urlGen;
 
         try {
-            $provider = new \OAuthProvider();
+            $provider = OAuth::getProvider();
             $oauth->registerHandler($provider)
                 ->registerVerificationTokenHandler($provider);
             $provider->checkOAuthRequest(
@@ -167,7 +167,7 @@ class OauthController extends Controller
         }
 
         //the user is logged in and authorized
-        $provider = new \OAuthProvider();
+        $provider = OAuth::getProvider();
 
         $newToken = new Token('verify');
         $newToken->tokenKey = $token->tokenKey;
@@ -230,7 +230,7 @@ class OauthController extends Controller
         $urlGen = $this->deps->urlGen;
 
         try {
-            $provider = new \OAuthProvider();
+            $provider = OAuth::getProvider();
             $oauth->registerHandler($provider);
             $provider->isRequestTokenEndpoint(true);
             $provider->checkOAuthRequest(
index 7cfd4e0103da1ecdd02023a80451c7ca42f30e33..e2eb651d4b54d53cfc9ad0f575c949639e2cc9d7 100644 (file)
@@ -106,7 +106,7 @@ class OAuth
     public function verifyOAuthUser($username, $url)
     {
         try {
-            $provider = new \OAuthProvider();
+            $provider = OAuth::getProvider();
             $this->registerHandler($provider);
             $this->registerAccessTokenHandler($provider);
             //do not use "user" in signature
@@ -131,5 +131,16 @@ class OAuth
         //var_dump($e);
         exit(1);
     }
+
+    /**
+     * Get a new oauth provider instance.
+     * Used to work around the fastcgi bug in oauthprovider.
+     * 
+     * @return \OAuthProvider
+     */
+    public static function getProvider()
+    {
+        return new \OAuthProvider();
+    }
 }
 ?>