Fixed problem identifying OAuth request protocol
The protocol of a OAuth request wasn't being identified correctly. It always considered that the request protocol was https.
This commit is contained in:
parent
b16c5bb034
commit
fcf95755b6
1
NEWS.md
1
NEWS.md
@ -1,5 +1,6 @@
|
||||
1.3.10
|
||||
------
|
||||
* Fixed problem identifying OAuth request protocol
|
||||
|
||||
1.3.9
|
||||
-----
|
||||
|
@ -109,6 +109,7 @@ function handleQuery(req, res) {
|
||||
var gn = "the_geom"; // TODO: read from configuration file
|
||||
var user_id;
|
||||
var tableCacheItem;
|
||||
var requestProtocol = req.protocol;
|
||||
|
||||
try {
|
||||
|
||||
@ -180,7 +181,7 @@ function handleQuery(req, res) {
|
||||
if(api_key) {
|
||||
ApiKeyAuth.verifyRequest(req, this);
|
||||
} else {
|
||||
oAuth.verifyRequest(req, this);
|
||||
oAuth.verifyRequest(req, this, requestProtocol);
|
||||
}
|
||||
},
|
||||
function queryExplain(err, data){
|
||||
|
@ -66,7 +66,7 @@ var oAuth = function(){
|
||||
me.verifyRequest = function(req, callback){
|
||||
var that = this;
|
||||
//TODO: review this
|
||||
var http = arguments['2'];
|
||||
var httpProto = arguments['2'];
|
||||
var passed_tokens;
|
||||
var ohash;
|
||||
var signature;
|
||||
@ -99,7 +99,16 @@ var oAuth = function(){
|
||||
|
||||
var method = req.method;
|
||||
var host = req.headers.host;
|
||||
var path = http ? 'http://' + host + req.route.path : 'https://' + host + req.route.path;
|
||||
|
||||
if(!httpProto || (httpProto != 'http' && httpProto != 'https')) {
|
||||
var msg = "Unknown HTTP protocol.";
|
||||
err = new Error(msg);
|
||||
err.http_status = 500;
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
|
||||
var path = httpProto + '://' + host + req.route.path;
|
||||
that.splitParams(req.query);
|
||||
|
||||
// remove signature from passed_tokens
|
||||
|
Loading…
Reference in New Issue
Block a user