-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathserver.js
36 lines (29 loc) · 975 Bytes
/
server.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
const express = require('express')
const app = express()
const bodyParser = require('body-parser');
const Str = require('@supercharge/strings');
const port = process.env.PORT || 3000;
var os = require("os");
var dbService = require('./database');
var tokenService = require('./oauth');
app.use(bodyParser.json())
app.use(express.static('public'))
app.post('/api/oauth2', (req, res) => {
host = os.hostname();
aud = req.body.client_id;
sub = Str.random();
user = "User-"+ Str.random();
data = dbService.GetData();
secret = req.body.client_secret;
let token = tokenService.GenerateToken(host,aud,sub,user,data,secret);
res.header("CustomAuth",token);
res.send(token);
})
app.get('/user', (req, res) => {
token = req.header('authorization').replace(/^Bearer\s+/, "");
var user = tokenService.DecodeToken(token);
res.send(user);
})
app.listen(port, () => {
console.log(`Server listening at http://localhost:${port}`)
});