[241201] TIL

오늘 한 것

캐럿마켓 강의 #8.7~ #8.13 수강

iron-session 라이브러리

  • iron-session 는 안전하고 stateless한 쿠키 기반 js용 세션 라이브러리
  • 완전한 서버 세션은 아니고, 물리적 저장 위치는 클라이언트 쿠키지만 서버에서 안전하게 관리되는 쿠키 기반 세션 방식이다.
  • 다른 방법으로는 세션 모델을 만들고 세션 값을 DB 에 넣는 방법이 있다.
  • https://github.com/vvo/iron-session
const cookie = await getIronSession(cookies(), {
      cookieName: "delicious-karrot",
      password: process.env.COOKIE_PASSWORD!,
    });

    cookie.id = user.id;
    await cookie.save();

nextjs middleware

  • Nextjs 에서의 미들웨어란, User 와 그 대상의 request 사이에서 작동함
  • middleware는 edge runtime 에서 실행함 nodejs 에서 실행되지 않아서 라이브러리도 지원하지 않는 것도 있을 수 있음

소데클 커피챗

  • 해보고 싶은 활동이 생겨서 리더분과 운영진 지원자분들과 커피챗을 했다.
  • 오픈소스 기여해보는 그 날까지 ,, 화이탱

프로젝트 - Authentication 구현

  • 깃허브 링크
  • db 다뤄보면서 로그인 기능 만드니깐 신기하고 재밌다.

개요

사용자 인증 시스템 구현, 포함된 기술 스택:

  • Zod: 폼 유효성 검사
  • 서버 액션: 인증 프로세스 처리
  • 미들웨어: 인증 보호
  • 프리즈마: 데이터베이스 관리
  • iron-session: 세션 보안
  • bcrypt: 비밀번호 암호화

추가된 기능

  • /create-account 페이지
    • 사용자 가입 폼
    • Zod 유효성 검사
    • 오류 처리 메커니즘
  • /log-in 페이지
    • 로그인 폼
    • Zod 유효성 검사
    • 오류 처리
  • /profile 페이지
    • 인증된 사용자만 접근
    • 사용자 정보 표시

주요 보안 기능

  • 비밀번호 해싱
  • 세션 기반 인증
  • 보호된 라우트 구현

기타

  • 말해보카

Categories:

Updated:

Leave a comment