How to remove cookie from Sveltekit hook?

Viewed 494

I have the following handler, and I want to remove all cookies. I tried to return a Set-Cookie header, but that doesn't work. How can I remove all cookie/a specific cookie correctly?

export const handle: Handle = async ({ event, resolve }) => {
    const cookies = parse(event.request.headers.get('cookie') || '');
    const sessionTokenKey = Object.keys(cookies).find(key => key.includes('abc'))
    const sessionToken = cookies[sessionTokenKey]

    const response = await resolve(event);
    response.headers.set('Set-Cookie', "")

    return response
};
2 Answers

Something like this should work:

const response = await resolve(event);

response.headers.set(
  'set-cookie',
  serialize('cookie name', '', {
    expires: Date.now() - 3600
  })
)

because of type mismatch, this worked for me:

import * as cookie from 'cookie'

response.headers.set(
    'set-cookie': cookie.serialize('token', '', {
            expires: new Date("Thu, 01 Jan 1970 00:00:01 GMT")
     })
)
Related