Проблема:
Мой next-auth работает локально, но когда я развертываю его в Netlify, я получаю эту CLIENT_FETCH_ERROR при доступе к чему-либо (компонент RouteGuard вызывает хук useSession и нажимает на /auth/signin, если он не аутентифицирован && по непубличному пути).
ПОЛУЧИТЬ https://website.com/api/auth/session 400 --> Ошибка: это действие с HTTP GET не поддерживается NextAuth.js
[next-auth][error][CLIENT_FETCH_ERROR] Неожиданный токен 'E', "Ошибка: Thi"... недопустимый JSON
ПОСТ https://website.com/api/auth/_log 400
Локально он вызывает http://localhost:4200/api/auth/session и возвращает 304 с {}.
Где вызывается хук useSession:
_app > Session Provider session = {session} > RouteGuard
Ожидаемый возврат API согласно документации:
https://next-auth.js.org/getting-started/client#getsession
При вызове getSession() отправит запрос в /api/auth/session и возвращает обещание с объектом сеанса или null, если сеанс не существует.
https://next-auth.js.org/getting-started/rest-api#get-apiauthsession
Возвращает безопасный для клиента объект сеанса или пустой объект, если сеанса нет. Содержимое возвращаемого объекта сеанса настраивается с помощью обратного вызова сеанса.
Обратный вызов сеанса:
async session({ session, token, user }) {
session.accessToken = token.accessToken
session.user._id = token.sub
session.user.name = token.name
session.user.email = token.email
if (token.login_provider) session.user.login_provider = token.login_provider
return session
}
Что я уже проверил локально и на Netlify:
"next": "11.1.0", "next-auth": "^4.6.1",
Что еще я должен проверить?
Гуглил, читал документы, перечитывал документы и пробовал все безрезультатно в течение дня...
Помогите пожалуйста /о\
Обновлять:
следующий-auth.csrf-токен
следующий-auth.callback-url
Обновление 2:
Исправлено с использованием точных версий [email protected] и [email protected].
Решение найдено здесь: https://answers.netlify.com/t/nexauth-returning-action-not-found/77779/5