/
koa.js
37 lines (31 loc) · 845 Bytes
/
koa.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'use strict';
process.env.ESCHER_INTEGRATIONS = `[
{
"serviceUrl": "http://somewhere.com",
"credentialScope": "eu/test/ems_request",
"keyId": "test_test-target_v1",
"secret": "secret"
}
]`;
const Koa = require('koa');
const Router = require('koa-router');
const escherRequest = require('../src/main');
const escherAuthMiddleware = async (context, next) => {
const { authenticated, message } = escherRequest.authenticate(
'eu/test-target/ems_request',
context.request
);
if (!authenticated) {
context.status = 401;
context.body = message;
} else {
await next();
}
};
const app = new Koa();
var router = new Router();
router.get('/hello', escherAuthMiddleware, context => {
context.body = 'Hello World';
});
app.use(router.routes());
app.listen(9193);