Next-Auth: getSession returns 空
Next-Auth: getSession returns null
API 通过浏览器请求以下代码工作正常,即 returns {"success":true,"data":{"user": ...}}
但使用 cURL 或 REST-Client VS 代码扩展 return null 即 {"success":true,"data":null}
。
下面是我通过 /api/query
端点 return 会话对象的代码:
import { getSession } from "next-auth/client";
export default async (req, res) => {
const session = await getSession({ req });
res.status(200).json({ success: true, data: session });
};
我也尝试使用端点 /api/auth/session
获取会话。端点 return 是使用浏览器的会话,但 return 是使用 cURL 的空会话。
这是 cURL 请求 curl http://localhost:3000/api/auth/session
.
该行为的原因是什么?
P.S。 : 我正在使用 Google OAuth 进行身份验证。
Auth依赖于cookies,您的浏览器会自动发送cookies。但是,当您使用 cURL cookie 时,cookie 不存在,因此 auth 无法进行身份验证。
Next-Auth cookies
API 通过浏览器请求以下代码工作正常,即 returns {"success":true,"data":{"user": ...}}
但使用 cURL 或 REST-Client VS 代码扩展 return null 即 {"success":true,"data":null}
。
下面是我通过 /api/query
端点 return 会话对象的代码:
import { getSession } from "next-auth/client";
export default async (req, res) => {
const session = await getSession({ req });
res.status(200).json({ success: true, data: session });
};
我也尝试使用端点 /api/auth/session
获取会话。端点 return 是使用浏览器的会话,但 return 是使用 cURL 的空会话。
这是 cURL 请求 curl http://localhost:3000/api/auth/session
.
该行为的原因是什么?
P.S。 : 我正在使用 Google OAuth 进行身份验证。
Auth依赖于cookies,您的浏览器会自动发送cookies。但是,当您使用 cURL cookie 时,cookie 不存在,因此 auth 无法进行身份验证。 Next-Auth cookies