서버에서 쿠키 만료 값 가져오기

8056 단어 nodecookie
브라우저는 쿠키 만료를 처리하므로 쿠키의 만료 값을 서버에 전달하지 않습니다. 서버에서 쿠키의 만료 값을 얻으려면 일부 조정을 해야 합니다.

두 가지 방법이 있습니다.
  • JSON 값으로 쿠키를 생성할 수 있습니다
  • .
  • 다른 쿠키를 사용하여 만료를 알릴 수 있습니다
  • .

    JSON 값으로 쿠키 생성



    JSON 값으로 쿠키를 생성할 수 있습니다. 다음과 같습니다.

    const cookieValue = JSON.stringify({
      value: 'hello world',
      expiry: Date.now() + 3600 * 1000
    })
    
    res.cookie('myCookie', cookieValue)
    


    Express를 사용하는 경우 값 앞에 j: 를 추가하여 쿠키가 JSON 쿠키임을 cookie-parser에 나타낼 수 있습니다. Cookie-parser는 JSON 쿠키를 자동으로 디코딩하고 다시 개체로 바꿉니다.

    // Setting a JSON cookie for cookie-parser
    const cookieValue = JSON.stringify({
      value: 'hello world',
      expiry: Date.now() + 3600 * 1000
    })
    
    res.cookie('myCookie', `j: ${cookieValue}`)
    



    // Reading the JSON cookie
    import cookieParser from 'cookie-parser'
    
    app.use(cookieParser())
    
    app.get('/', (req, res) => {
      const { myCookie } = req.cookies
    
      if (myCookie.expiry < Date.now()) {
        // Do something
      }
    })
    


    물론 쿠키가 만료될 때 브라우저가 쿠키를 자동으로 제거하도록 하려면 여전히 maxAge 속성을 설정할 수 있습니다.

    res.cookie('myCookie', 'j:' + cookieValue, { maxAge: 3600 * 1000 })
    


    만료를 저장할 다른 쿠키 만들기



    만료 값을 저장하기 위해 다른 쿠키를 생성할 수 있습니다. 다음과 같습니다(maxAge 속성 포함).

    res.cookie('myCookie', 'hello world', { maxAge: 3600 * 1000 })
    res.cookie('myCookieExpiry', Date.now() + 3600 * 1000 { maxAge: 3600 * 1000 })
    


    다음과 같이 서버에서 쿠키 만료 값을 확인할 수 있습니다.

    import cookieParser from 'cookie-parser'
    app.use(cookieParser())
    
    app.get('/', (req, res) => {
      const { myCookie, myCookieExpiry } = req.cookies
    
      if (myCookieExpiry < Date.now()) {
        // Do something
      }
    })
    


    그게 다야!


    읽어 주셔서 감사합니다. 이 기사는 원래 my blog에 게시되었습니다. 더 나은 프런트엔드 개발자가 되는 데 도움이 되는 더 많은 기사를 보려면 my newsletter에 가입하세요.

    좋은 웹페이지 즐겨찾기