在凤凰城更新会话cookie

时间:2018-03-15 16:45:31

标签: javascript cookies elixir phoenix-framework

我正在使用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)

但它不起作用。我有一个检查令牌有效性的插件,一旦用户更改密码,任何操作都会将他重定向回登录页面,因为令牌尚未更新。如果我在浏览器控制面板中检查它,它总是旧的

0 个答案:

没有答案