summaryrefslogtreecommitdiff
path: root/server/providers/guards/auth.guard.ts
blob: d7da81ef1dbddbcfe4fcf69a541f0ea44346cb07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
import { JwtService } from '../services/jwt.service';

@Injectable()
export class AuthGuard implements CanActivate {
  constructor(private jwtService: JwtService) {}

  canActivate(context: ExecutionContext) {
    const req = context.switchToHttp().getRequest();
    const authHeader = req.headers.authorization;
    const jwt = authHeader.split(' ')[1];
    try {
      req.jwtBody = this.jwtService.parseToken(jwt);
    } catch (e) {
      return false;
    }

    return true;
  }
}