Skip to content

[feature] JWT passport, AuthGuard 생성 #3

@sween2591

Description

@sween2591

토큰 검사하여 context의 request객체의 토큰헤더를 validation하여 예외를 반환하거나
user_id와 role을 request의 body에 추가하는 jwt미들웨어를 구현하고

RefreshTokenRepository 인터페이스를 구현하고
테스트를 위해 RefreshTokenMemoryRepository를 구현한다.

로그인 성공 시 레포지터리에서 User 엔티티를 전달 받아

   class TokenDto{
       'x-access-token': string;
       'x-refresh-token':string;
}

user_id, role 정보를 body에 넣은 토큰인 x-access-token과 비어있는 토큰인 'x-refresh-token'을 만료시간을 지정하여 발급한 후
'x-refresh-token' 은

 @Entity
 class RefreshToken{
     id: number;
     user_id: number;
     refresh_token: string;
     exprired_date: Date;
}

의 형식으로 RefreshTokenRepository에 저장한다.

해당 미들웨어를 거쳐 추가된 request의 role정보를 식별하여 요청을 차단하는 Role Guard를 생성한다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions