Author: chabotc
Date: Tue Jul 14 13:06:34 2009
New Revision: 793894

URL: http://svn.apache.org/viewvc?rev=793894&view=rev
Log:
SHINDIG-1111 by Loic Dachary - Configurable host name so that the base string 
matches in reverse proxy situations too

Modified:
    incubator/shindig/trunk/php/config/container.php
    incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php

Modified: incubator/shindig/trunk/php/config/container.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/config/container.php?rev=793894&r1=793893&r2=793894&view=diff
==============================================================================
--- incubator/shindig/trunk/php/config/container.php (original)
+++ incubator/shindig/trunk/php/config/container.php Tue Jul 14 13:06:34 2009
@@ -158,6 +158,11 @@
   // If your development server is behind a proxy, enter the proxy details 
here in 'proxy.host.com:port' format.
   'proxy' => '',
 
+
+  // If your server is behind a reverse proxy, set the real hostname here so 
that OAuth signatures match up, for example:
+  // 'http_host' => 'modules.partuza.nl'
+  'http_host' => false,
+
   // Container id, used for security token
   'container_id' => 'default'
 );

Modified: incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php?rev=793894&r1=793893&r2=793894&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php (original)
+++ incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php Tue Jul 14 
13:06:34 2009
@@ -100,8 +100,11 @@
   }
 
   public function getSecurityToken() {
+    // Support a configurable host name ('http_host' key) so that OAuth 
signatures don't fail in reverse-proxy type situations
+    $scheme = (! isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on") ? 
'http' : 'https';
+    $http_url = $scheme . '://' . (Config::get('http_host') ? 
Config::get('http_host') : $_SERVER['HTTP_HOST']) . $_SERVER['REQUEST_URI'];
     // see if we have an OAuth request
-    $request = OAuthRequest::from_request();
+    $request = OAuthRequest::from_request(null, $http_url, null);
     $appUrl = $request->get_parameter('oauth_consumer_key');
     $userId = $request->get_parameter('xoauth_requestor_id'); // from Consumer 
Request extension (2-legged OAuth)
     $signature = $request->get_parameter('oauth_signature');


Reply via email to