Я работаю с express.js и passport.js в качестве моего бэкэнда с axios и vue.js в качестве моего внешнего интерфейса.
Я вижу свой set-cookie, но cookie нетв моем браузере. Изображения, ссылки на которые приведены ниже.
Заголовки ответа Заголовки запроса
Этот файл cookie используется для аутентификации моего пользователя с использованием паспорта. js.
Ниже приведен код для моего express.js.
var app = express();
app.use(cors({
origin: "http://localhost:8080",
credentials: true
}));
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({
extended: false
}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({
secret: 'p@ssw0rd'
}));
app.use(passport.initialize());
app.use(passport.session());
Метод ниже будет вызываться через методы vue.js.
const url = "http://localhost:3000/";
let axiosConfig = {
withCredentials: true,
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': 'http://localhost:3000/',
'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE'
}
}
class user {
static login(username, password) {
return new Promise(async(resolve, reject) => {
try {
const res = await axios.post(
`${url}login`, {
username,
password
},
axiosConfig
);
resolve(res.data);
} catch (err) {
reject(err);
}
});
}
Бэкэнд запускается на локальном хосте: 3000, а веб-интерфейс запускается на локальном хосте: 8080
Проверка файлов cookie. Нет данных для выбранного хоста