【问题标题】:Next.js API route can't set cookieNext.js API 路由无法设置 cookie
【发布时间】:2020-12-23 09:45:59
【问题描述】:

我似乎无法让服务器在客户端上发送/设置 cookie。当我打开开发者并检查重定向时,没有发送或设置任何 cookie。

// pages/api/auth/github.ts
const handler: NextApiHandler = async (request, response) => {
  
  // Use request.query.code to fetch access token, ect.

  response.setHeader(
    'Set-Cookie',
    serialize('token', data.access_token, {
      path: '/',
    }),
  );

  response.redirect(`http://${request.headers.host}`);
};

【问题讨论】:

    标签: node.js reactjs oauth-2.0 next.js


    【解决方案1】:

    我添加了

    { sameSite: 'lax' } 
    

    到 cookie 选项,它现在可以工作了。

    完整的工作示例:

    // pages/api/auth/github.ts
    const handler: NextApiHandler = async (request, response) => {
      
      // Use request.query.code to fetch access token, ect.
    
      response.setHeader(
        'Set-Cookie',
        serialize('token', data.access_token, {
          path: '/',
          sameSite: 'lax'
        }),
      );
    
      response.redirect(`http://${request.headers.host}`);
    };
    

    【讨论】:

      猜你喜欢
      • 2019-07-22
      • 2019-12-24
      • 2020-08-12
      • 2021-11-05
      • 2020-10-27
      • 2021-10-31
      • 2012-06-21
      • 1970-01-01
      • 2020-06-06
      相关资源
      最近更新 更多