universo-platform-3d

Форк
0
30 строк · 721.0 Байт
1
import { Observable } from 'rxjs'
2
import {
3
  Injectable,
4
  CanActivate,
5
  ExecutionContext,
6
  Logger
7
} from '@nestjs/common'
8

9
/**
10
 * @description Only use for controllers, not websockets
11
 */
12
@Injectable()
13
export class GodotServerGuard implements CanActivate {
14
  constructor(private readonly logger: Logger) {}
15

16
  canActivate(
17
    context: ExecutionContext
18
  ): boolean | Promise<boolean> | Observable<boolean> {
19
    const request = context.switchToHttp().getRequest()
20
    const check =
21
      request.headers?.authorization == `Bearer ${process.env.WSS_SECRET}`
22
    if (!check) {
23
      this.logger.log(
24
        'Bearer secret Authorization check failed',
25
        GodotServerGuard.name
26
      )
27
    }
28
    return check
29
  }
30
}
31

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.