0

我正在尝试使用 npm cookie-session 从 ExpressJs 服务器保存令牌,但无法在浏览器上获取 cookie,但它出现在 Set-Cookie 请求中。在邮递员中,我可以使用令牌。

服务器代码

const express = require('express')
const cors = require("cors");
const cookieSession = require('cookie-session')

const dotenv = require('dotenv');
dotenv.config()

const app = express();

app.use(express.json());
app.use(
  cors({
    // origin: 'http://localhost:3000/',
    // optionsSuccessStatus: 200,
  })
);

app.use(
  cookieSession({
    signed: false,
    secure: false,
  }
  )
)

router.post('/login', async (req, res) => {
    const response = new ResponseModel()
    try {
        const { email, password } = req.body

        if (!(email && password)) {
            response.error = error_missing_fields
            res.status(400).json(response)
        }
        const request = await Model.findOne({ where: { email: email } })

        if (bcrypt.compareSync(password, request.password)) {

            response.data = jwt.sign({ id: request.id, }, "MySecret")

            req.session = { token: response.data };

            res.status(200).json(response)

        } else {
            response.error = error_data_not_found
            res.status(404).json(response)
        }
    } catch (error) {
        response.error = error
        return res.status(400).json(response)
    }
})

邮递员的令牌答案

前端登录请求

const login = async (email, password) => {
    const request = await sendRequest('POST', 'users/login', { email, password });

    // if (request.data.data) {
    //     Cookies.set('token', request.data.data, {
    //         Path: '',
    //         expires: 1 / 24
    //     })
    // }
    return request;
}

前端请求Set-Cookie

缺少令牌

4

0 回答 0