DB adapter 설정
=> session방식은 DB에 데이터를 저장해야 함.
1. 라이브러리 설치
npm install @next-auth/mongodb-adapter
2. auth 파일에 코드 추가
([...nextauth].js 파일)
import { connectDB } from "/util/database"; //추가
import { MongoDBAdapter } from "@next-auth/mongodb-adapter"; //추가
import NextAuth from "next-auth";
import GithubProvider from "next-auth/providers/github";
export const authOptions = {
providers: [
GithubProvider({
clientId: '발급 ID',
clientSecret: '발급 Secret',
}),
],
secret : '1234'
adapter : MongoDBAdapter(connectDB), //추가
};
export default NextAuth(authOptions);
3. 로그인하기
4. MongoDB에 자동으로 컬렉션이 추가됨을 확인.
5. 유저정보 확인하는 법
(pages/api/post/test.js)
let session = await getServerSession(req, res, authOptions)
console.log(session.user);
1) getServerSession(req, res, authOptions)을 변수에 담는다.
2) session.user으로 접근이 가능하다.
=> 로그아웃상태는 session값 == null값이다.
세션방식은 DB을 접근해야 하기 때문에, 조금 불편한 부분이 있어서
최근트렌드는 JWT방식 즉, 토큰방식을 많이 쓴다고 한다.
다음 시간에는 JWT방식에 대해서 알아볼 예정이다!
'Next.js' 카테고리의 다른 글
.env 파일 <보안작업> (0) | 2023.07.08 |
---|---|
회원가입/로그인 기능 + JWT (0) | 2023.07.08 |
Next-Auth를 통한 소셜로그인 (0) | 2023.07.08 |
static rendering /dynamic rendering / cache (0) | 2023.07.07 |
URL parameter 문법 & GET 방식 (0) | 2023.07.06 |