Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/src/core/guards/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/** * Copyright 2023, the hatemragab project author. * All rights reserved. Use of this source code is governed by a * MIT license that can be found in the LICENSE file. */ import {Injectable, CanActivate, ExecutionContext, BadRequestException} from "@nestjs/common"; import { AuthService } from "../../api/auth/auth.service"; @Injectable() export class VerifiedAuthGuard implements CanActivate { constructor(private readonly authService: AuthService) { } async canActivate( context: ExecutionContext ): Promise<boolean> { const request = context.switchToHttp().getRequest(); const authorization = request.headers["authorization"] || request.headers["Authorization"]; if (!authorization) throw new BadRequestException("authorization key in headers is required"); if (!authorization.toString().includes("Bearer")) throw new BadRequestException("authorization key in headers is must start with Bearer"); let token = authorization.split("Bearer ")[1]; if (!token) throw new BadRequestException("Token after Bearer\" \"must be starting "); request.user = await this.authService.getVerifiedUser(token); return true; } }