작성
·
633
0
안녕하세요. 회원가입을 하려고 할 때 이상한 점이 몇 가지 있어 질문을 남겨봅니다.
삽질을 하다가 다른 분의 질문을 보고 npm i next-auth@5.0.0-beta.3 이건 적용을 해본 상태입니다.
[auth][error] UnknownAction: Cannot parse action at /api/auth/session
localhost:3000으로 접속하고 나면 잠시 뒤에 콘솔에 이런 에러가 뜹니다.
회원가입이 되지 않는 문제
아이디, 닉네임, 비밀번호, 이미지를 넣고 회원가입을 하면 [auth][error] UnknownAction: Cannot parse action at //callback/credentials .Read more at https://errors.authjs.dev#unknownaction
at parseActionAndProviderId (webpack-internal:///(action-browser)/./node_modules/@auth/core/lib/utils/web.js:87:27)
at toInternalRequest (webpack-internal:///(action-browser)/./node_modules/@auth/core/lib/utils/web.js:32:40)
at Auth (webpack-internal:///(action-browser)/./node_modules/@auth/core/index.js:82:103)
at signIn (webpack-internal:///(action-browser)/./node_modules/next-auth/lib/actions.js:55:71)
at signIn (webpack-internal:///(action-browser)/./node_modules/next-auth/index.js:82:75)
at $$ACTION_0 (webpack-internal:///(action-browser)/./src/app/(beforeLogin)/_lib/signup.ts:53:60)
at async /Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:406
at async t0 (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:38:5773)
at async rh (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:23636)
at async doRender (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1391:30)
at async cacheEntry.responseCache.get.routeKind (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1552:28)
at async DevServer.renderToResponseWithComponentsImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1460:28)
at async DevServer.renderPageComponent (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1843:24)
at async DevServer.renderToResponseImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1881:32)
at async DevServer.pipeImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:909:25)
at async NextNodeServer.handleCatchallRenderRequest (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/next-server.js:266:17)
at async DevServer.handleRequestImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:805:17)
TypeError: Invalid URL
at new URL (node:internal/url:775:36)
at signIn (webpack-internal:///(action-browser)/./node_modules/next-auth/lib/actions.js:61:19)
at async $$ACTION_0 (webpack-internal:///(action-browser)/./src/app/(beforeLogin)/_lib/signup.ts:53:9)
at async /Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:406
at async t0 (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:38:5773)
at async rh (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:23636)
at async doRender (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1391:30)
at async cacheEntry.responseCache.get.routeKind (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1552:28)
at async DevServer.renderToResponseWithComponentsImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1460:28)
at async DevServer.renderPageComponent (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1843:24)
at async DevServer.renderToResponseImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1881:32)
at async DevServer.pipeImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:909:25)
at async NextNodeServer.handleCatchallRenderRequest (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/next-server.js:266:17)
at async DevServer.handleRequestImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:805:17) {
code: 'ERR_INVALID_URL',
input: 'undefined'
}
이런 에러가 뜨며 회원가입이 되지 않습니다.
그런데 npm i next-auth@5.0.0-beta.3 이걸 적용하기 전에는 1번에서 언급한 에러는 떠 있어도 회원가입은 정상적으로 됐었는데 beta.3 버전을 설치한 이후에는 회원가입이 아예 안 되네요.
회원가입 후 로그아웃 버튼이 보이지 않는 문제
이건 회원가입이 정상적으로 됐을 때 궁금했던 부분입니다.회원가입이 되면 /home으로 리다이렉트가 됐었는데 그런데 전 로그아웃 버튼이 보이지가 않더라구요.
useSession() 으로 데이터를 받아오지 못 해 null 을 리턴해서 그랬던 것이 맞을까요?
답변 2
0
npm i @auth/core@0.27 next-auth@5.0.0-beta.11 msw@2.1
이렇게 설치하고 .env에서 AUTH_URL을 지웁니다. 그리고 auth.ts에서 NEXT_PUBLIC_BASE_URL을 대신 씁니다. .env에 AUTH_URL을 쓰지 않는 게 핵심입니다.
const authResponse = await fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/login`, {
아직 msw@2.2의 버그는 해결하지 못했습니다.
https://github.com/mswjs/msw/issues/1658#issuecomment-1953599080
이런 식으로 버그 제기를 하고는 있으나 언제 고쳐질 지는 모르겠습니다. 해결되는대로 다시 공유드리겠습니다.
@auth/core 0.18 버전으로 낮추니 이상한 에러들 사라지고 정상적으로 회원가입도 되고, /home으로 리다이렉트도 됩니다!
한 가지 더 궁금한 것은 제가 가입한 아이디, 비밀번호, 사진이 아니라 제로초님 이름, 이미지가 뜨는 것은 mocking 하는 handler에서 /api/login 에 대해서 미리 그렇게 해놔서 그런 것이 맞을까요?