登录与验证
登录验证相关函数需要设置对应环境变量,如果没有设置系统将会自动生成。
- JWT_SECRET_KEY token验证密钥
- JWT_SECRET_EXP_IN token的过期时间。过期时间是一个字符串:例如
24H表示24小时、1Y表示一年,数字部分根据实际情况填写
生成一个登录验证的token
假设这是一个登录接口,我们获取到用户的登录账号和密码之后,可以生成一个token
javascript
import { token } from "chengzhi-cloud-sdk"
export default async function handler(ctx: CloudContext) {
const { username, password } = ctx.body
const authorization = await token.generate({ username }) // 生成jwt token
return authorization;
}token 验证
假如这是一个拦截器,可以验证token的正确性,如果验证通过则执行下一步逻辑。
拦截器相关说明可参阅拦截器
javascript
export default async function handler(ctx: CloudContext) {
const authorization = ctx.header['token'] || ctx.header['Token']
if(!authorization){
return {
code: 401,
msg: "登录失效,请重新登录"
}
}
const data = await token.auth(authorization)
if(!data){
return {
code: 401,
msg: "登录失效",
};
}
return {
code: 200
}
}