Auth
JWT
生成密钥
sh
node -e "console.log(require('crypto').randomBytes(32).toString('hex'));"sh
npm install jsonwebtoken签名 token
ts
import jwt from 'jsonwebtoken'
const SECRET = process.env.SECRET
export function signToken(payload: string | object) {
return jwt.sign(payload, SECRET)
}
export function verifyToken(token: string) {
return jwt.verify(token, SECRET)
}用户名/密码
json
{
"login": "18159657969",
"password": "JN94tEO93",
"loginType": "password"
}json
{
"username": "admin",
"password": "ant.design",
"autoLogin": true,
"type": "account"
}密码效验
ts
import bcrypt from 'bcryptjs'
export async function hashPassword(plainPassword: string) {
return bcrypt.hash(plainPassword, 10)
}
export function verifyPassword(plainPassword: string, hash: string) {
return bcrypt.compare(plainPassword, hash)
}手机号/验证码登录
json
{
"autoLogin": true,
"mobile": "18159556969",
"captcha": "1234",
"type": "mobile"
}- 发送短信验证码
- 验证手机号和短信验证码