Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] 구글 로그인 회원가입 및 온보딩 페이지 구현 #20

Merged
merged 35 commits into from
Jun 13, 2024

Conversation

cobocho
Copy link
Contributor

@cobocho cobocho commented Jun 12, 2024

PR Type

  • 기능 추가

Overview

  • 소셜 로그인 (구글) 기능 구현
  • 회원가입 페이지 구현
  • 온보딩 페이지 구현
  • 미들웨어를 통한 페이지 접근 권한 관리 구현

Additional Comment

서버 사이드 환경과 클라이언트 사이드 환경에서 동시에 JWT 토큰을 통한 권한 관리를 할 수 있도록 토큰 저장 위치를 쿠키로 설정하였습니다.
API 요청의 경우 쿠키에 존재하는 토큰을 네트워크 요청 시 헤더에 담아주는 로직을 통해 작동합니다.

페이지에 대한 접근 권한의 경우는 미들웨어를 통해 이루어집니다.

Usage

// middleware.ts

// 미들웨어 생성 함수
const onlyRegisteredMiddleware = checkUserStatusMiddleware([
  UserStatus.Registered,
  UserStatus.Withdrawn,
 // ...포함 시킬 유저 권한
])

export async function middleware(req: NextRequest) {
  const response = NextResponse.next()

  if (
   // ... 미들웨어를 실행시킬 조건
  ) {
    return onlyRegisteredMiddleware(req, response, '/login')
  }
}

Issue

related on #19

Check List

  • 관련된 이슈를 연결하였나요?
  • 올바른 PR 컨벤션을 작성했나요?
  • 적절한 라벨을 선택했나요?
  • Assignee와 Reviewer를 설정했나요?

References

@cobocho cobocho added the 🧑‍💻 Feature 기능 개발 및 삭제 관련 사항입니다 label Jun 12, 2024
@cobocho cobocho merged commit f9d4fa4 into main Jun 13, 2024
3 checks passed
@hin6150
Copy link
Member

hin6150 commented Jun 14, 2024

고생하셨습니다 !!
수, 목 교육 일정이 있어서 조금 늦게 확인했습니다 ㅠㅠ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧑‍💻 Feature 기능 개발 및 삭제 관련 사항입니다
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants