Refactor example auth functions, and add one which gets password from
environment variable
This commit is contained in:
parent
7d6f638b87
commit
0991e25f7b
|
|
@ -11,17 +11,34 @@
|
||||||
|
|
||||||
const querystring = require('querystring');
|
const querystring = require('querystring');
|
||||||
|
|
||||||
|
function urlTokenMatch(url, token, verbose=false) {
|
||||||
|
let splitUrl = url.split("?")
|
||||||
|
if (splitUrl.length !== 2) {
|
||||||
|
return ["", false];
|
||||||
|
}
|
||||||
|
let qs = splitUrl[1];
|
||||||
|
let qs_parsed = querystring.parse(qs);
|
||||||
|
let success = (qs_parsed.token === token);
|
||||||
|
if (verbose) {
|
||||||
|
if (!success) {
|
||||||
|
console.log("Permission denied for token: " + qs_parsed.token);
|
||||||
|
} else {
|
||||||
|
console.log("Permission granted for token: " + qs_parsed.token);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
|
||||||
exports.tokenAuth = function tokenAuth(source) {
|
exports.tokenAuth = function tokenAuth(source) {
|
||||||
return function(info) {
|
return function(info) {
|
||||||
console.log(info.req.url);
|
let token = source;
|
||||||
let splitUrl = info.req.url.split("?")
|
return urlTokenMatch(info.req.url, token, true);
|
||||||
if (splitUrl.length !== 2) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
let qs = splitUrl[1];
|
|
||||||
let qs_parsed = querystring.parse(qs)
|
|
||||||
console.log(qs_parsed)
|
|
||||||
return (qs_parsed.token === source);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exports.tokenAuthEnv = function tokenAuthEnv(source) {
|
||||||
|
return function(info) {
|
||||||
|
let token = process.env[source];
|
||||||
|
return urlTokenMatch(info.req.url, token, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue