atzcl / z

基于 MidwayJS(EggJS) + TypeScript 的多模块应用 [ NodeJS 版 ]
129 stars 20 forks source link

SkipPermissionCheck 获取不到用户token #21

Closed jimizai closed 4 years ago

jimizai commented 4 years ago

遇到一个这样的场景 一个接口用户是否登陆都是可以访问的 用户登陆的话则返回用户信息 但是拆分成两个接口 前端调用不太现实。 是否可将SkipPermissionCheck 改为不跳过token验证, token不存在不报错, 存在即解token

atzcl commented 4 years ago

你可以将这个接口添加到 SkipPermissionCheck 中,然后再在这个接口里面进行是否登陆用户的处理就行了,伪代码:

SkipPermissionCheck.add('xxxx');

@provide()
@controller()
export class XXXxController extends Controller {
  @get('xxxx')
  async index() {
        try {
            const token = this.request.bearerToken();
            const userInfo = await this.ctx.helper.jwt().getCustomClaims(token);
           // 进行登录用户的处理
        } catch {
          // 进行非登录用户的处理
        }
  }
}
jimizai commented 4 years ago

好的 多谢