[session ๋กœ๊ทธ์ธ] ๐Ÿช„ ์„ธ์…˜ ์—ฐ์žฅ ์„ฑ๊ณต

sookyoung.kยท2024๋…„ 2์›” 7์ผ
0

๐Ÿ NodeJS

๋ชฉ๋ก ๋ณด๊ธฐ
7/10
post-thumbnail

~์ด์ „ ์ด์•ผ๊ธฐ~
์„ธ์…˜์œผ๋กœ ๋Œ€๋ฐ• ๊นจ์ง€๊ณ  ๋ฉ˜ํƒˆ ๋‚˜๊ฐ€๊ณ  ์•”ํŠผ ๊ทธ๋žฌ์Œ

โš ๏ธ ํ•ด๊ฒฐ ํ›„ ๊ธฐ์–ต์— ์˜์กดํ•ด์„œ ์“ฐ๋Š” ๊ธ€

๐Ÿช„ 4ํŠธ

session.touch()

req.session.touch()๋Š” express-session ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๋Š” ์„ธ์…˜์˜ lastAccess ์‹œ๊ฐ„์„ ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์„ธ์…˜์˜ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์„ ์—ฐ์žฅํ•ฉ๋‹ˆ๋‹ค.

์„ธ์…˜์€ ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด ๋งŒ๋ฃŒ๋˜๋Š”๋ฐ, touch() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ํ™œ๋™์„ ๊ณ„์†ํ•˜๊ณ  ์žˆ๋Š” ๋™์•ˆ์—๋Š” ์„ธ์…˜์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž๊ฐ€ ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ์„ธ์…˜์ด ๋งŒ๋ฃŒ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š”๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ req.session.touch()๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ํ™œ๋™์— ๋”ฐ๋ผ ์„ธ์…˜ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์„ ๋™์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์›น ์•ฑ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋์—†๋Š” ๊ตฌ๊ธ€๋ง ์ง€์˜ฅ์—์„œ ์ด์   ์ฑ—gpt์ง€์˜ฅ์œผ๋กœ ๊ฑธ์–ด๋“ค์–ด์™”๋‹ค. touch()๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์•Œ์•˜์ง€๋งŒ ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒƒ์œผ๋กœ ์•Œ์•˜๋‹จ ๋ง์ž„...? ํ•˜์ง€๋งŒ ์ด๊ฒŒ ์ด๋Ÿฐ๊ฒŒ ์žˆ๋Œ€์„œ touch()๊นŒ์ง€ ์‚ฌ์šฉ์„ ํ•ด๋ณด๊ธฐ๋กœ ํ•จ.

    req.session.cookie.maxAge = 300000;
	req.session.touch();
    res
      .setHeader(
        'Set-Cookie',
        'connect.sid=s%3A' + req.sessionID + '; Max-Age=3600000;',
      )
      .json({
        success: true,
        message: SUCCESS_MESSAGE.SESSION_EXTENDS,
        expiredTime: req.session.cookie.expires.getTime(),
      });

์Œ ์ง€๊ธˆ ๋ณด๋‹ˆ ์™œ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ... req.session.cookie.maxAge = 300000;์ด๊ฑฐ๋‚˜ req.session.touch();์ด๊ฑฐ๋‚˜ ์—ญํ• ์€ ๊ฐ™์Šต๋‹ˆ๋‹ค. (๋ฉ˜ํƒˆ์ด ์ข€ ๋‚˜๊ฐ€์žˆ์—ˆ๋˜๋“ฏ...)

์•„๋ฌดํŠผ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•ด๋ณธ ๊ฒฐ๊ณผ!

์ด ๋•Œ๋Š” ์—ฌ์ฐจํ•˜๋ฉด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฟ ํ‚ค๋กœ ์„ธ์…˜์„ ๋ฐ”๊ฟ”์น˜๊ธฐ๋ฅผ ํ• ๊นŒ ๊ณ ๋ฏผ์„ ํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ดˆ์˜ ์ฟ ํ‚ค์™€ ๋‚ด๊ฐ€ setHeader๋กœ ์ƒˆ๋กœ ๋งŒ๋“  ์ฟ ํ‚ค ๋‘ ๊ฐœ๊ฐ€ ํ™•์ธ์ด ๋œ๋‹ค.

์ค‘์š”ํ•œ ๊ฒƒ์€ ์ €๊ธฐ Expires ๋ถ€๋ถ„์ด๋‹ค. (๋งŒ๋ฃŒ ์‹œ๊ฐ„์ด 3์›” 20์ผ์ธ๊ฑด ์™œ์ง€?... ์‹œ๊ฐ„๋งŒ ๋ด๊ฐ€์ง€๊ณ  ๊ทธ ๋• ๋ˆˆ์น˜์ฑ„์ง€ ๋ชปํ–ˆ๋Š”๋ฐ ์ผ๋‹จ ์ด๊ฑด ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜์ž...)

์ด ์ƒํ™ฉ์—์„œ ํ•œ ๋ฒˆ ๋” ์—ฐ์žฅ์„ ๋ˆ„๋ฅด๋ฉด

!!!!! ๋ฐ”๋€๋‹ค

๊ธฐ์กด ์ฟ ํ‚ค ๋งŒ๋ฃŒ ์‹œ๊ฐ„์€ ์—ฌ์ „ํžˆ ๋ณ€ํ•จ์ด ์—†์ง€๋งŒ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฟ ํ‚ค์˜ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์€ ๋ณ€ํ•œ๋‹ค!! ๊ทธ๊ฒƒ๋„ ์•„์ฃผ ์ž˜!!! ์™€!! ํ•˜์ง€๋งŒ... ์™œ ๊ธฐ์กด์˜ ์„ธ์…˜์€ ๊ฑด๋“œ๋ฆฌ์ง€ ๋ชปํ•˜๋Š” ๊ฑธ๊นŒ... ์—ฌ์ „ํžˆ ์•Œ ์ˆ˜ ์—†์—ˆ๋‹ค.

๐Ÿช„ 5ํŠธ

๊ทธ๋Ÿฌ๋˜ ์ค‘ ๋ฌธ๋“ ์ƒ๊ฐ๋‚œ session.save() ๋ฉ”์„œ๋“œ...! ์ดˆ๋ฐ˜ ์„ธ์…˜ ์ƒ์„ฑ ๋•Œ ์ด ๋ฉ”์„œ๋“œ ๋•Œ๋ฌธ์— ์ž๊พธ๋งŒ ์„ธ์…˜์ด ๋‘ ๊ฐœ๊ฐ€ ์ƒ๊ฒจ์„œ ๊ณ ์ƒํ–ˆ๋˜ ๊ธฐ์–ต์ด ์Šค์ณ์ง€๋‚˜๊ฐ€๋ฉด์„œ ํ˜น์‹œ...? ์ด ์นœ๊ตฌ๊ฐ€ ์—ฌ๊ธฐ์—์„œ ๋‚  ๊ตฌ์›ํ•ด์ค„๊นŒ...? ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

    req.session.cookie.maxAge = 300000;
	req.session.touch();
	req.session.save()
    res
      .setHeader(
        'Set-Cookie',
        'connect.sid=s%3A' + req.sessionID + '; Max-Age=3600000;',
      )
      .json({
        success: true,
        message: SUCCESS_MESSAGE.SESSION_EXTENDS,
        expiredTime: req.session.cookie.expires.getTime(),
      });

๊ทธ ๊ฒฐ๊ณผ ํ™”๋ฉด์ด๋‹ค.

์—ฌ์ „ํžˆ ์ฟ ํ‚ค๊ฐ€ ๋‘ ๊ฐœ ์ƒ๊ธฐ๋Š” ๊ฒƒ์€ ๋ฌธ์ œ์ด๋‹ค. ํ•˜์ง€๋งŒ! ์ตœ์ดˆ ์ฟ ํ‚ค์˜ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์„ ๋ด๋ณด์ž!

์ด ์ƒํ™ฉ์—์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์—ฐ์žฅ์„ ๋ˆ„๋ฅด๋ฉด!!

์ง !!!! ์‹œ๊ฐ„์ด ๋ฐ”๋€Œ์—ˆ๋‹ค!!! ์ด์ œ ์ตœ์ดˆ์˜ ์ฟ ํ‚ค๋„ ์‹œ๊ฐ„์ด ์—ฐ์žฅ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค!! ์™€์šฐ!!!
res.setHeader๋งŒ ์ง€์›Œ์ฃผ๋ฉด ์ƒˆ๋กœ์šด ์ฟ ํ‚ค๊ฐ€ ์ƒ์„ฑ๋  ์ผ๋„ ์—†๊ณ , ์šฐ๋ฆฌ๋Š” ์„ธ์…˜ ์—ฐ์žฅ์„ ๋ฌด์‚ฌํžˆ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค!! ํ•˜ํ•˜ํ•˜!!

๐Ÿช„ 6ํŠธ

๊ณ„์† ๊ถ๊ธˆํ–ˆ๋˜ ๊ฑด ์ƒˆ๋กœ ์ƒ๊ธด ์ฟ ํ‚ค์— /api/account๋ผ๋Š” path๊ฐ€ ์™œ ์ƒ๊ธฐ๋Š” ๊ฑธ๊นŒ์˜€๋‹ค. ์ด๊ฒŒ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๊ทธ๋ž˜์„œ ์„ธ์…˜ ๊ฒฝ๋กœ์— ์ถ”๊ฐ€๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค.

path ์ถ”๊ฐ€

	cookie: {
      sameSite: 'lax',
      secure: false,
      httpOnly: true,
      maxAge: 1000 * 60 * 5,
      path: '/api/account',
    },


์งœ์ž”~ ๋งŒ๋ฃŒ ์‹œ๊ฐ„๋„ ์ž˜ ๋ฐ”๋€Œ๊ณ ~ ์ฟ ํ‚ค๊ฐ€ ๋‘ ๊ฐœ ์ƒ๊ธฐ๋Š” ์ผ ๋”ฐ์œ„๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ต๋‹ˆ๋‹ค!!

์ด๋ ‡๊ฒŒ ๋!!!

โš ๏ธ ๋ฌธ์ œ ์ƒํ™ฉ ๋ฐœ์ƒ

์ธ์ค„ ์•Œ์•˜๋‹ค๋ฉด ํฐ ์˜ค์‚ฐ์ž„.

ํ˜น์‹œ๋‚˜... ํ•˜๋Š” ์ƒ๊ฐ์œผ๋กœ ๊ธ€์“ฐ๊ธฐ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ดค์Œ. ๊ทธ๋žฌ๋”๋‹ˆ...

์‘~ ์ƒ์„ฑ ์‹คํŒจ์•ผ~


์„ธ์…˜์— ๋‹ด๊ธด admin_name์ด ์ •์˜๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ผ ์ฝ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์ด์•ผ๊ธฐ๋‹ค. ์ดˆ์ฐฝ๊ธฐ์— ๋งŽ์ด ๋ฐœ์ƒํ–ˆ๋˜ ์—๋Ÿฌ์˜€๋‹ค. ์•ผ์•ผ... ์ž˜๋งŒ ์ฝ์–ด์˜ค๋˜ ๋…€์„์ด ์™œ๊ทธ๋ž˜ ๊ฐ‘์ž๊ธฐ... ๋‚˜ ์Šฌํผ...

๐Ÿช„ 7ํŠธ

๋‹ค์‹œ ์ƒ๊ฒจ๋‚œ ์ƒ๊ฐ์ง€๋„ ๋ชปํ•œ ์—๋Ÿฌ์— ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋ฅผ ์œ ๋ž‘ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋กœ๊ทธ์ธ ๋ฐฉ์‹์„ ์ฐธ๊ณ ํ•˜๋˜ ์ค‘ ์ด ๋ธ”๋กœ๊ทธ์—์„œ ๋– ์˜ค๋ฅธ ์ƒ๊ฐ์ด ์žˆ์—ˆ๋‹ค.

๋‚˜ ์™œ... ๋”ฐ๋กœ ์ €์žฅํ•  ์ƒ๊ฐ์„ ์—ฌ๊ธฐ์—์„  ์•ˆ ํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฑธ๊นŒ...? ๋‹ค๋ฅธ๋ฐ์„  ์ž˜๋งŒ ์ €์žฅํ–ˆ์—ˆ์œผ๋ฉด์„œ...? ๊ทธ๋ž˜์„œ ๋‹ค๊ธ‰ํ•˜๊ฒŒ data ๋ณ€์ˆ˜์— ์„ธ์…˜ ์ •๋ณด๋ฅผ ๋‹ด์•„ ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•ด๋ดค๋‹ค.

๊ทธ๋žฌ๋”๋‹ˆ ๊ฒฐ๊ณผ๋Š”!

	const data = req.session;
    if (!data.admin_name) {
      console.log('NO SESSION DATA');
      return res.status(401).json({ message: ERROR_MESSAGE.NO_LOGIN });
    }
	// data.touch()๋Š” ์ค‘๋ณต์ธ ๊ฒƒ ๊ฐ™๊ณ  ์š”์ฆ˜์€ ๊ฑฐ์˜ ์“ฐ์ด์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•˜์—ฌ ์ƒ๋žต
    data.resetMaxAge();
    data.save();
    res.json({
      success: true,
      message: SUCCESS_MESSAGE.SESSION_EXTENDS,
      expiredTime: req.session.cookie.expires.getTime(),
    });

์—ฌ์ „ํžˆ ๊ฐ™์•˜์Œ. ํ•˜์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋Œ€๋œธ req.session์„ ๋˜์ง€๋Š” ๊ฒƒ๋ณด๋‹ค ๊ธฐ์กด ์ฝ”๋“œ์™€ ํ†ต์ผ์„ฑ๋„ ์žˆ๊ณ  ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์•˜๋‹ค.

๐Ÿช„ 8ํŠธ์— ์„ฑ๊ณต ๐Ÿ˜ญ

๊ณ„์†ํ•ด์„œ ์ƒ๊ฐํ•˜๋˜ ์ค‘... ํ˜น์‹œ ์ฟ ํ‚ค์— ์ค€ path๊ฐ€ ๋ฌธ์ œ์ธ ๊ฒƒ์€ ์•„๋‹๊นŒ? ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

์ฟ ํ‚ค์˜ 'Path' ์˜ต์…˜์€ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฟ ํ‚ค๋ฅผ ์„œ๋ฒ„์— ์ „์†กํ•ด์•ผ ํ•˜๋Š” URL์„ ์ง€์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 'Path=/books'๋กœ ์„ค์ •ํ•˜๋ฉด, ์ด ์ฟ ํ‚ค๋Š” ์›น ์‚ฌ์ดํŠธ์˜ '/books' ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์— ์žˆ๋Š” ๋ชจ๋“  ํŽ˜์ด์ง€์—์„œ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, 'Path=/'๋กœ ์„ค์ •ํ•˜๋ฉด, ์›น ์‚ฌ์ดํŠธ์˜ ๋ชจ๋“  ํŽ˜์ด์ง€์—์„œ ์ฟ ํ‚ค๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

์ด Path ์˜ต์…˜์€ ์ฟ ํ‚ค์˜ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๋ฏ€๋กœ, ์›น ์‚ฌ์ดํŠธ ๋‚ด์—์„œ ํŠน์ • ๋ถ€๋ถ„๋งŒ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ๋„๋ชจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ์—์„œ๋Š” ์ด Path ์˜ต์…˜์— ๋”ฐ๋ผ ์ฟ ํ‚ค์˜ ์ ‘๊ทผ์„ฑ์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ฟ ํ‚ค ์ ‘๊ทผ์„ ์ œํ•œํ•˜๊ฑฐ๋‚˜, ์ „์ฒด ์›น์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ์ฟ ํ‚ค ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” ๋“ฑ์˜ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ๋ณด์•ˆ ์ˆ˜์ค€์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋คผํŠผ์˜ ์นœ์ ˆํ•œ ์„ค๋ช…... ์›๋ž˜๋Š” ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ž์ฃผ ์ฝ๋Š” ํŽธ์ด๊ณ , ์ด๋ฒˆ ์„ธ์…˜ ๊ด€๋ จํ•œ ์ด์Šˆ๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณต์‹๋ฌธ์„œ๋ผ๋ฉด ์ด๊ณจ์ด ๋‚œ ์ƒํ™ฉ์ด๋ผ ๋ƒ…๋‹ค gpt์—๊ฒŒ ์งˆ๋ฌธ์„ ๊ฐˆ๊ฒผ๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ path์˜ ์—ญํ• ์— ๋Œ€ํ•ด์„œ ์ด๋ ‡๊ฒŒ ์„ค๋ช…์„ ํ•ด์คŒ.

๊ทธ๋Ÿฌ๋‹ˆ๊นŒ, ๋‚ด ์˜ค๋ฅ˜๋Š” ๋‹น์—ฐํ•œ ๊ฑฐ์˜€๋‹ค. /api/account๋ผ๋Š” path๋ฅผ ์ฃผ์—ˆ์œผ๋‹ˆ ๋‹น์—ฐํžˆ account ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ์ฟ ํ‚ค๊ฐ€ ๋˜์–ด๋ฒ„๋ ธ๋˜ ๊ฒƒ์ด์—ˆ๋‹ค.

์œ„์—์„œ '์™œ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฟ ํ‚ค์— path๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฑธ๊นŒ?'ํ•˜๋Š” ์˜๋ฌธ๋„ ํ’€๋ฆฌ๊ณ  ๋‚ด๊ฐ€ ์ž˜๋ชป ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

๊ทธ๋ž˜์„œ ๋‹ค์‹œ ๋ฐ”๊พผ ์ฟ ํ‚ค ์„ค์ •์€ ์ด๋ ‡๋‹ค. ์›๋ž˜๋Š” ๊ธฐ๋ณธ path์˜€์ง€๋งŒ ์•ฝ๊ฐ„์œผ ์ ‘๊ทผ ์ œํ•œ์„ ์ค˜๋ดค์Œ.

	cookie: {
      sameSite: 'lax',
      secure: false,
      httpOnly: true,
      maxAge: 1000 * 60 * 5,
      path: '/api',
    },

๊ฒŒ์‹œ๋ฌผ ์—…๋กœ๋“œ ์„ฑ๊ณต์ด์ง€์š” ^~^ ๋ฌผ๋ก  ์ฟ ํ‚ค ๋งŒ๋ฃŒ ์—ฐ์žฅ๋„ ์ž˜ ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ... ์ •๋ง ๊ธธ๊ณ  ๊ธธ์—ˆ๋˜ ์„ธ์…˜๊ณผ์˜ ์‹ธ์›€์ด ๋ง‰์„ ๋‚ด๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
ํ•˜... ์ง€๊ธˆ๊ป ์„ฑ๊ณต์ด๋‹ค! ์ƒ๊ฐํ•˜๋ฉด ๊ณ„์†ํ•ด์„œ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ํ„ฐ์ง€๊ณค ํ–ˆ๋Š”๋ฐ ใ…‹ใ…‹ใ…‹ ๊ธ€๋กœ ์ ์–ด๋‘ฌ์•ผ์ง€! ํ•˜๊ณ ์„  ์—ฌํƒœ ๋ชป ์ ๊ณ  ์žˆ๋‹ค.

์ด๋ฒˆ์—” ํ…Œ์ŠคํŠธ ํ•˜๋ฉด์„œ ์บก์ณํ•œ ์‚ฌ์ง„๋“ค ํŽธํ•˜๊ฒŒ ๋ณผ๊ฒธ ํ•ด์„œ ๋ฒจ๋กœ๊ทธ์— ์‚ฌ์ง„์„ ์˜ฌ๋ฆฌ๋‹ค๋ณด๋‹ˆ... ์ด๋ ‡๊ฒŒ ๋ฐ”๋กœ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋จ. ์œ ํ›„~^^ ์—ฐํœด ์ „์— ํ•ด๊ฒฐํ•ด์„œ ์ •๋ง ๊ธฐ์˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์„ธ์…˜ ๋„ˆ ๋ง์ด์•ผ ๋„ˆ...

๋งˆ์Œ๊ฐ™์•„์„  ์ด๋ ‡์ง€๋งŒ ์ ˆ๋Œ€ ๋‚˜์ค‘์— ๊ณ„์† ๋ณด๊ฒŸ์ฃ ?... ์ธ์ƒ์ด๋ž€.

๊ทธ๋ž˜๋„ ์ด๋ฒˆ์— ์„ธ์…˜ ๋กœ๊ทธ์ธ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ง„์งœ ๋งŽ์ด ๋ฐฐ์šด ๊ฒƒ ๊ฐ™๋‹ค... ํ•˜ํ•˜... ๋”์ด์ƒ ๋ฌธ์ œ ์—†๊ธธ...

profile
์˜์ฐจ์˜์ฐจ ๐Ÿ˜Ž

0๊ฐœ์˜ ๋Œ“๊ธ€