Cookies 还记得我在凤凰卫士中使用的功能吗
我正在为一个web应用程序开发一个登录系统,使用Guardian来处理身份验证。 在我的监护人配置中,我有Cookies 还记得我在凤凰卫士中使用的功能吗,cookies,elixir,phoenix-framework,remember-me,guardian,Cookies,Elixir,Phoenix Framework,Remember Me,Guardian,我正在为一个web应用程序开发一个登录系统,使用Guardian来处理身份验证。 在我的监护人配置中,我有 ttl: {30, :days} 通过调用以下命令,用户的令牌存储在Cookie中: defp login(conn, user) do conn |> Guardian.Plug.sign_in(user) end 这样,令牌的有效期为30天,即使浏览器关闭,令牌也会保持在那里(cookie的预期行为)。 然而,用户应该能够选择是否在登录期间被记住。 否则,必须在关闭浏
ttl: {30, :days}
通过调用以下命令,用户的令牌存储在Cookie中:
defp login(conn, user) do
conn
|> Guardian.Plug.sign_in(user)
end
这样,令牌的有效期为30天,即使浏览器关闭,令牌也会保持在那里(cookie的预期行为)。
然而,用户应该能够选择是否在登录期间被记住。
否则,必须在关闭浏览器窗口时从cookie中删除令牌。
我已经试着设置了
ttl: {0, :days}
它似乎完成了所需的行为。他说:
也许可以检查一下Guardian.Plug。记住我/4。卫报上有一个例子 更改TTL在这里是非常危险的,因为这意味着登录后您的令牌立即过期,因此如果您基于令牌授权请求,则每个API路由都将无法工作 Guardian能够同时存储会话和令牌,因此您可能需要根据自己的需要自定义身份验证系统
# Set a "refresh" token directly on a cookie.
# Can be used in conjunction with `Guardian.Plug.VerifyCookie`
conn = MyApp.Guardian.Plug.remember_me(conn, resource)