aboutsummaryrefslogtreecommitdiff
path: root/lib/oauth.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oauth.php')
-rw-r--r--lib/oauth.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/oauth.php b/lib/oauth.php
index e2eb651..d6c72e8 100644
--- a/lib/oauth.php
+++ b/lib/oauth.php
@@ -140,7 +140,27 @@ class OAuth
*/
public static function getProvider()
{
- return new \OAuthProvider();
+ //$_SERVER['REDIRECT_HTTP_AUTHORIZATION'] = $_SERVER['HTTP_AUTHORIZATION'];
+ //unset($_SERVER['HTTP_AUTHORIZATION']);
+
+ $params = array();
+ if (!isset($_SERVER['HTTP_AUTHORIZATION'])
+ && isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])
+ ) {
+ //FastCgi puts the headers in REDIRECT_HTTP_AUTHORIZATION,
+ // but the oauth extension does not read that.
+ // we have to parse the parameters manually
+ $regex = "/(oauth_[a-z_-]*)=(?:\"([^\"]*)\"|([^,]*))/";
+ preg_match_all(
+ $regex, $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches
+ );
+
+ foreach ($matches[1] as $key => $paramName) {
+ $params[$paramName] = urldecode($matches[2][$key]);
+ }
+ }
+
+ return new \OAuthProvider($params);
}
}
?>