인프런 커뮤니티 질문&답변

tlawofyd1님의 프로필 이미지
tlawofyd1

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

passport 관련해서 여쭙니다.

작성

·

177

·

수정됨

0

프론트쪽에서 워크스페이스 유저 초대를 하면

서버쪽에서는 해당 기능을 요청한 유저가 워크스페이스 오너인지 체크하려고 합니다..

AuthGuard를 확장한 OwnerAuthGuard에서 워크스페이스 레포지터리를 임포트해 db조회해서

요청자가 owner인지 아닌 지 체크하려고 하는 데 passport의 패턴에 어긋나거나 성능상의 문제가 있을까요?

공식문서나 구글링을 해보면 전부 jwt나 아이디, 비밀번호 체크하는 것만 있어서 확실치 않아 질문 드립니다.

@Injectable()
export class OwnerAuthGuard extends AuthGuard('owner') {
  async canActivate(context: ExecutionContext): Promise<boolean> {
    const can = await super.canActivate(context);
    console.log('LocalAuthGuard can:' + can);
    if (can) {
      const request = context.switchToHttp().getRequest();
      //여기서 세션에 저장된 id로 workspace테이블을 조회
    }
    return true;
  }
}

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

거기서 레포지토리 인젝트하셔도 됩니다. 좀 더 추천되는 건 서비스로 분리해서 만드는 거긴 합니다. ㅎㅎ

tlawofyd1님의 프로필 이미지
tlawofyd1

작성한 질문수

질문하기