Skip to content

Commit cd4637c

Browse files
committed
inject clientContext to dev-serve
1 parent f12105b commit cd4637c

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

Diff for: lib/serve.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var expressLogging = require("express-logging");
44
var path = require("path");
55
var base64 = require("base-64");
66
var conf = require("./config");
7+
var jwtDecode = require("jwt-decode")
78

89
function handleErr(err, response) {
910
response.statusCode = 500;
@@ -70,7 +71,17 @@ function createHandler(dir) {
7071
};
7172

7273
var callback = createCallback(response);
73-
var promise = handler.handler(lambdaRequest, {}, callback);
74+
let clientContext = {}
75+
if (request.headers['authorization']) {
76+
const parts = request.headers['authorization'].split(' ')
77+
if (parts.length === 2 && parts[0] === 'Bearer') {
78+
clientContext = {
79+
identity: { url: '', token: parts[1] },
80+
user: jwtDecode(parts[1])
81+
}
82+
}
83+
}
84+
var promise = handler.handler(lambdaRequest, { clientContext }, callback);
7485
promiseCallback(promise, callback);
7586
};
7687
}

Diff for: package.json

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"commander": "^2.11.0",
3232
"express": "^4.16.2",
3333
"express-logging": "^1.1.1",
34+
"jwt-decode": "^2.2.0",
3435
"toml": "^2.3.3",
3536
"webpack": "^3.8.1",
3637
"webpack-merge": "^4.1.1"

Diff for: yarn.lock

+4
Original file line numberDiff line numberDiff line change
@@ -1794,6 +1794,10 @@ jsprim@^1.2.2:
17941794
json-schema "0.2.3"
17951795
verror "1.10.0"
17961796

1797+
jwt-decode@^2.2.0:
1798+
version "2.2.0"
1799+
resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-2.2.0.tgz#7d86bd56679f58ce6a84704a657dd392bba81a79"
1800+
17971801
kind-of@^3.0.2:
17981802
version "3.2.2"
17991803
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"

0 commit comments

Comments
 (0)