浏览代码

introduce the jwt strategy

Sven Czarnian 2 年之前
父节点
当前提交
0827ccd1b1
共有 1 个文件被更改,包括 19 次插入0 次删除
  1. 19 0
      src/auth/strategies/jwt.strategy.ts

+ 19 - 0
src/auth/strategies/jwt.strategy.ts

@@ -0,0 +1,19 @@
+import { PassportStrategy } from '@nestjs/passport';
+import { Injectable } from '@nestjs/common';
+import { ConfigService } from '@nestjs/config';
+import { ExtractJwt, Strategy } from 'passport-jwt';
+
+@Injectable()
+export class JwtStrategy extends PassportStrategy(Strategy) {
+  constructor(config: ConfigService) {
+    super({
+      jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
+      ignoreExpiration: false,
+      secretOrKey: config.get<string>('server.jwt-secret'),
+    });
+  }
+
+  async validate(payload: any) {
+    return { userId: payload.sub, vatsimId: payload.vatsimId };
+  }
+}