如何为Ktor中call.response.cookies.append()设置Cookie过期时间?
你使用call.response.cookies.append()设置Cookie时,只需在第三个参数传入配置对象,通过expires或maxAge字段即可指定过期时间,两种方式的具体用法如下:
1. 用expires指定具体过期日期
通过创建一个Date对象来定义Cookie的失效时间,示例代码:
// 生成7天后的日期作为过期时间 const expireDate = new Date(); expireDate.setDate(expireDate.getDate() + 7); call.response.cookies.append("token", "$token", { expires: expireDate });
expires接收标准的Date实例,Cookie会在该日期到来后自动失效。
2. 用maxAge设置相对过期时长(单位:秒)
如果想从当前时间开始计算过期时长,用maxAge更直接,它的取值是秒数,示例:
// 设置Cookie 7天后失效(7天 = 7*24*60*60 = 604800秒) call.response.cookies.append("token", "$token", { maxAge: 604800 });
这种方式不需要手动计算具体日期,适合按时长设置过期的场景。
额外说明
- 如果不指定
expires或maxAge,Cookie默认是会话Cookie,关闭浏览器后就会被清除。 - 你还可以在配置对象中添加
path、domain、secure等其他属性,进一步控制Cookie的作用范围和安全性。
内容的提问来源于stack exchange,提问作者UndercoverDog
相关产品推荐
相关产品推荐

