본문 바로가기

next.js

회원기능

[과정]

1. 회원가입은 DB에 아이디랑 비번을 저장해놓는다.

2. 유저가 아이디 / 비번을 server에 보낸다.

3. 서버는 DB와 일치하는지 확인한다.

4. 맞다면 입장권(토근,session)을 유저한테 발급해준다.

5. 유저는 데이터를 요청할때마다 자동으로 입장권을 서버에 보낸다.

6. 입장권을 확인하고 server는 요청하는 데이터를 보내준다.
  **입장권은 유저에서 관리하면 안되므로 쿠키저장소에 숨겨놓는다.


[입장권을 만들때]

1. session방식 

: 입장권에 sessionID(랜덤한 문자열)이 포함되어 있다.

 이 입장권을 가지고 유저는 데이터를 요청하고 받을 수 있다. 대신 요청할때마다 DB에서 데이터를 요청해야하므로 부담이 될 수 있다.
 ex)redis라는 보관용 DB을 사용할 수 있다. 입출력이 빠르다.

 

2. token방식(JWT)

: 유저가 로그인을 성공하면 입장권을 발급해줌

 입장권에 아이디, 로그인날짜, 유효기간등을 암호화해서 전달.(보완)
 DB에 부담이 적지만 보안을 신경써야한다.


OAuth란?

:소셜 로그인,다른 사이트의 로그인 정보를 다른 사이트에 가져다가 쓰는 것.

 만약 어떠한 사이트에 회원가입을 할때 구글로 소셜로그인을 하게되면 구글은 사용자에게 확인을 받고 유저정보를 해당 사이트에게 제공한다. => 구현해보니 비밀번호와 같은 민감한 정보는 넘어오지 않아서 안전한거 같았다.

 

위와같은 방법으로 로그인을 구현할 수 있지만,

next.js에서는 NextAuth를 사용해서 회원기능을 구현할 수 있다.(라이브러리 설치 필요)

 

'next.js' 카테고리의 다른 글

SEO 향상시키기  (0) 2023.05.15
SSG의 부족한 점을 보완한 ISR  (0) 2023.05.15
서버로 데이터 전송  (0) 2023.05.04
next.js server  (0) 2023.05.01
[next.js] getStaticPaths  (0) 2023.04.07