Authentication: DAY ONE π
req.session.destroy();
session μΈμ¦μ΄ λ€μ΄κ° axios ν΅μ μ μΈμ¦ cookie κ°μ μ λ¬νκΈ° μν΄μλ λ°λμ μλ μ€μ μ μΆκ°ν΄μ£Όμ΄μΌ νλ€.
const axios = require('axios');
axios.defaults.withCredentials = true;
μ΄ λ, μλ²μ cors μ€μ μμ Access-Control-Allow-Origin
μ΄ *
μΌ κ²½μ° requestμ credentials modeκ° μ§μλμ§ μκΈ° λλ¬Έμ μλ¬κ° λ°μνλ€.
β‘ κ° μλ²μ νΈμ€νΈ μ 보λ₯Ό cors μ€μ μ μΆκ°ν΄μ£Όλ©΄ λλ€.
// server/index.js
const express = require("express");
const app = express();
const cors = require("cors");
app.use(
cors({
origin: 'https://localhost:3000', //ν΄λΌμ΄μΈνΈκ° μ΄λ€ originμΈμ§μ λ°λΌ μ€μ
methods: 'GET,POST,OPTIONS',
preflightContinue: false,
optionsSuccessStatus: 204,
credentials: true,
}),
);
π Reference https://lahuman.github.io/cors_axios_session/
Set-Cookie
λ μλ²μμ μ¬μ©μ λΈλΌμ°μ μ μΏ ν€λ₯Ό μ μ‘νκΈ° μν΄ μ¬μ©λλ HTTP μλ΅ ν€λλ€.
Set-Cookie
μ λ€μ΄κ°λ μμλ€ μ€ Expires
μ Max-Age
κ° μΏ ν€μ μλͺ
(?)μ κ²°μ νλ€.
Max-age
λ Expiresμ λΉμ·νμ§λ§ λ μ§ λμ μ΄(sec)
λ₯Ό μ
λ ₯ν μ μλ€. ν΄λΉ μ΄κ° μ§λλ©΄ μΏ κΈ°κ° λ§λ£λλ€.Expires
μ λͺ
μλ λ μ§
μ μΏ ν€κ° λ§λ£(μμ )λλ€.session
μ΄λΌκ³ ννλλλ° λΈλΌμ°μ λ₯Ό λλ μμ μ λ§λ£λλ€λ λ»μ΄λ€.Max-age
μ Expires
κ° λ λ€ λͺ
μλμ§ μμΌλ©΄ μΏ ν€λ μμμ±μ κ°μ§λ€. μ¦, μΏ ν€λ μλμΌλ‘ λ§λ£λμ§ μλλ€. Max-age
μ Expires
κ° λ λ€ μ€μ λμ΄μλ κ²½μ°, Max-age
κ° Expires
λ³΄λ€ μ°μ μ λλ€.