Skip to content

登录与验证

登录验证相关函数需要设置对应环境变量,如果没有设置系统将会自动生成。

  • 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
    }
}