JWT刷新令牌Postman可存但网页端无法存储问题求助
问题现象
该功能此前正常运行数周,今日突发异常:
- 网页端无法保存refresh token对应的Cookie,但能正常接收后端响应,且可将access token存入session storage
- Postman中同样无法保存refresh token
已配置项
Axios配置
import axios from "axios"; const api = axios.create({ baseURL: "http://localhost:5000/api/v1", withCredentials: true, }); export default api;
服务端CORS配置
app.use(cors({ origin: "http://localhost:3000", credentials: true }));
登录接口代码
const login = async (req: Request, res: Response) => { // ... 此处省略部分代码 const ACCESS_TOKEN = jwt.sign( { user_id: userDetails.user_id, roles: userDetails.roles }, ACCESS_SECRET, { expiresIn: "1hr" } ); const REFRESH_TKN = jwt.sign( { user_id: userDetails.user_id, username: userDetails.username }, REFRESH_SECRET, { expiresIn: "7d" } ); res .cookie("REFRESH_TOKEN", REFRESH_TKN, { httpOnly: true, // secure: true, // 暂未启用https,因此注释 sameSite: "none", maxAge: 7 * 24 * 60 * 60 * 1000, // 有效期1周 }) .status(200) .send({ message: "Login successfully", token: ACCESS_TOKEN }); };
相关截图说明
- 网页端session storage截图:已成功存储access token
- 网页端Cookie截图:未找到refresh token对应的条目
- Postman截图:未保存refresh token
内容的提问来源于stack exchange,提问作者Almighty Dee
相关产品推荐
相关产品推荐

