Skip to content

[ASSIGNMENT] 6차 과제 구현 #15

Description

@guswnsj0112

Description

6주차 과제 구현하기

📖 키워드 과제

  • OAuth 2.0이란 무엇인가요? 인증 흐름을 정리해보세요.

✅ 필수 과제

  • 오늘 실습한 JWT + Spring Security 인증을 에브리타임 클론 프로젝트 전체에 적용해주세요. 로그인/토큰 재발급 API는 인증 없이 접근 가능하고, 게시글 작성/수정/삭제, 좋아요 추가/취소는 인증이 필요하도록 설정해주세요.
  • 비밀번호를 평문으로 저장하는 건 위험해요. BCryptPasswordEncoder를 사용해서 비밀번호를 암호화해서 저장하고, 로그인 시 matches()로 검증하도록 수정해주세요.

🔥 심화 과제

  • 로그아웃 API를 구현해주세요. 로그아웃 시 DB에서 해당 유저의 Refresh Token을 삭제하고, 현재 Access Token을 블랙리스트에 추가해서 만료 전에도 사용할 수 없도록 해주세요. Access Token이 만료됐을 때 클라이언트가 어떻게 401을 감지해서 로그인 페이지로 이동시킬지 흐름도 함께 작성해주세요.
  • Kakao 또는 Google OAuth 2.0 소셜 로그인을 구현해주세요. 외부 인증 서버로부터 유저 정보를 받아온 후, 우리 서버에서 JWT(Access Token + Refresh Token)를 발급하는 흐름까지 완성해주세요. 신규 유저라면 자동으로 회원가입 처리하고, 기존 유저라면 로그인 처리해주세요.

ETC

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions