yinxing
Version:
167 lines (131 loc) • 3.62 kB
Markdown
```javascript
const Koa = require('koa');
const Router = require('koa-router')
//const session = require('koa-session');
//const compose = require('koa-compose');
const staticFiles = require('koa-static')
const path = require("path")
const {
mix,
www,
cors,
form_parser,
json_parser,
compose,
json,
err,
token,
sign,
db,
logger,
Ok,
query,
}=require("../middleware")
//}=require("yinxing/middleware")
const {
create_token,
parse_token,
refresh_token,
}=require('../token')
let options={
env:process.env.NODE_ENV || 'development'
}
const app = new Koa(options);
const port = process.env.TENCENTCLOUD_SERVER_PORT || 8080
const router = new Router();
router.get('/token', async (c, n) => {
let token=create_token()
c.json({token})
})
router.get('/parse_token', async (c, n) => {
let {token}=c.params
if (!token){
c.error_400("你的token呢?")
}else{
let {ok,data}=parse_token(token)
ok ? c.json(data) : c.error_400("bad token")
}
})
router.get('/refresh_token', async (c, n) => {
let {token}=c.params
if (!token){
c.error_400("你的token呢?")
}else{
let {ok,...data}=refresh_token(token)
console.log("dddd",data)
ok ? c.json(data) : c.error_400("bad token")
}
})
const all = compose([
logger,
cors,
staticFiles(path.resolve(__dirname, "./www")),
json_parser,
mix,
// {"Content-Type": "application/json; charset=utf-8",} 不可少
query,
Ok,
json,
err,
router.routes(),
]);
app.use(all)
app.on('error', err => {
console.error('server error', err)
})
app.on('error', (err, ctx) => {
console.error('server error', err,ctx)
})
console.log(app)
app.listen(3000);
```
```bash
node token.js
```
```json
{
"code": 200,
"ok": true,
"msg": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InVzZXJfaWQiOiIwIiwidXNlcl9uYW1lIjoiY2NjYyJ9LCJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImF1ZCI6ImFhYWEiLCJzdWIiOiJjY2NjIiwiZXhwIjoxNTc2ODQ5NjU0LCJpYXQiOjE1NzY3NjMyNTR9.6uwmS5_pBsOBdxYUdLuvLvGIY46leIdojng0TLk3HkE"
}
}
```
```json
{
"code": 200,
"ok": true,
"msg": "success",
"data": {
"data": {
"user_id": "0",
"user_name": "cccc"
},
"alg": "HS256",
"typ": "JWT",
"aud": "aaaa",
"sub": "cccc",
"exp": 1576849654,
"iat": 1576763254
}
}
```
```json
{
"code": 200,
"ok": true,
"msg": "success",
"data": {
"old_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InVzZXJfaWQiOiIwIiwidXNlcl9uYW1lIjoiY2NjYyJ9LCJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImF1ZCI6ImFhYWEiLCJzdWIiOiJjY2NjIiwiZXhwIjoxNTc2ODQ5NjU0LCJpYXQiOjE1NzY3NjMyNTR9.6uwmS5_pBsOBdxYUdLuvLvGIY46leIdojng0TLk3HkE",
"new_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InVzZXJfaWQiOiIwIiwidXNlcl9uYW1lIjoiY2NjYyJ9LCJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImF1ZCI6ImFhYWEiLCJzdWIiOiJjY2NjIiwiZXhwIjoxNTc2ODQ5Njg0LCJpYXQiOjE1NzY3NjMyODR9.NgiDEoudqVVs3bML0LJq2qrsZjAAdG74_tKVsh_D9CY",
"life": 86400,
"exp": 1576849684
}
}
```