node.js+sails
sails+mysql+passport-jwt实现用户验证登录
用户注册登录,携带注册邮箱和密码请求访问,服务器校验用户密码,提供一个token返回给客户端,客户端存储token并且在用户随后的请求中都携带着它,后续每一次请求中服务器校验token并返回请求数据。
什么是JWT?
JWT全称JSON Web Token,由三部分组成: header(头)、payload(载体)、signature(签名)。 随着技术的发展,分布式web应用的普及,通过session管理用户登录状态成本越来越高,因此慢慢发展成为token的方式做登录身份校验,直接根据token取出保存的用户信息,对token的可用性进行校验,使得单点登录更为简单。
- Header
JWT第一部分是header,header主要包含两个部分,alg指加密类型,可选值为HS256、RSA等等,typ=JWT为固定值,表示token的类型。
- payload
JWT第二部分是payload,payload是token的详细内容,一般包括iss (发行者), exp (过期时间), sub(用户信息), aud (接收者),以及其他信息。
- signature
JWT第三部分是signature
安装passport-jwt和passport
npm install passport-jwt
npm install passport
用户注册登录
signup:
function (req, res) {
var email=req.param('email').toString();
var userName=req.param('userName').toString();
var password=req.param('password'