我正在使用Phoenix作为我的网络应用。 在登录期间,我将令牌保存在这样的cookie中:
conn
|> put_resp_cookie("user_token", token, max_age: 7*24*60*60) # a week from now
|> configure_session(renew: true)
|> redirect(to: "/home")
我可以在应用程序中看到cookie及其相对max_age>存储> Cookies(Chrome浏览器)。
在用户个人资料页面上,我让他们更改密码。 一旦密码更改并存储在后端,我就会为该密码生成一个新的有效令牌,并将其作为响应正文发送回客户端。现在我必须更新存储在Application>中的“user_token”存储> Cookies(Chrome浏览器)。 我应该在后端或前端做吗?我在发送响应之前尝试了后端,如下所示:
conn
|> put_resp_cookie("user_token", NEW_TOKEN, max_age: 7*24*60*60) # a week from now
|> configure_session(renew: true)
但它不起作用。我有一个检查令牌有效性的插件,一旦用户更改密码,任何操作都会将他重定向回登录页面,因为令牌尚未更新。如果我在浏览器控制面板中检查它,它总是旧的