admin 유저 만드는 과정에서 db의 role='admin' 과 session.user.role 이 같다는
조건문을 통해 만들려고 하는데요
[...nextauth].js 파일 안에
callbacks: {
jwt: async ({ token, user }) => {
if (user) {
token.user = {};
token.user.name = user.name;
token.user.email = user.email;
token.user.role = user.role;
}
return token;
},
session: async ({ session, token }) => {
session.user = token.user;
return session;
},
},
유저의 role을 추가해주었고요
<input
className="specialInput"
name="role"
type="text"
value="normal"
/>
회원가입 페이지에 name="role"인 input 태그를 넣어주었습니다
그 후 session을 출력해본 결과,
let session = await getServerSession(req, rep, authOptions);
console.log(session);
{ user: { name: '~', email: '~' } } 여전히 터미널창에서 이런 식으로 출력됩니다.
vscode도 껐다 켜봤습니다.
session.user.role로 접근하고 싶은데 왜 role이 추가가 안되는지 모르겠습니다.