1、https
var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('./keys/214348170300525.key'), cert: fs.readFileSync('./keys/214348170300525.pem') }; https.createServer(options,function(request, response){ response.writeHead(200, { 'Content-Type': 'text-plain' }); response.end('Hello World,lalala\n'); }).listen(443);
2、token的使用以及验证过程
app.all('/*', function(req, res, next){ //每个请求都会经过这里 需要写在路由定义之上 if(req.query.name){ next(); }else{ res.send({ result:'name necessary' }) } });
var express = require('express'); var router = express.Router(); var token = require('./token'); /* GET home page. */ router.get('/login', function(req, res, next) { res.send({ code:token.createToken({ //Payload "iss": "ninghao.net", "exp": "1438955445", "name": "wanghao", "admin": true },60) }); }); router.get('/yz', function(req, res, next) { res.send({ result:token.checkToken('eyJkYXRhIjp7ImlzcyI6Im5pbmdoYW8ubmV0IiwiZXhwIjoiMTQzODk1NTQ0NSIsIm5hbWUiOiJ3YW5naGFvIiwiYWRtaW4iOnRydWV9LCJjcmVhdGVkIjoxNTExOTI2NTY3LCJleHAiOjYwfQ==.xHjXwe96w6DJD3kxUSD03+uckJRjM0nYE9C6ryBxHTc=') }); }); module.exports = router;
token的创建过程在之前有讲过,其中:
Payload 里面是 Token 的具体内容,这些内容里面有一些是标准字段,你也可以添加其它需要的内容。下面是标准字段:
- iss:Issuer,发行者
- sub:Subject,主题
- aud:Audience,观众
- exp:Expiration time,过期时间
- nbf:Not before
- iat:Issued at,发行时间
- jti:JWT ID