我想知道如何防止这个请求过期会话的错误。有什么好办法呢?我查看了Custom Errors,但不确定它有多大帮助。
首先,在会话中创建并设置UUID。
uuid = SecureRandom.uuid
SessionStore.set uuid, id, ttl: 20
然后,下面的URL链接被发送给用户,当用户点击时,它应该检查UUID是否在会话中过期。
<% verify_url = MyAppWeb.Router.Helpers.email_url(MyAppWeb.Endpoint, :verify, uuid: @uuid) %>
检查UUID
def verify(conn, %{"uuid" => uuid}) do
user_id = SessionStore.get(uuid)
end
答案 0 :(得分:0)
我先检查一下nil值。我还可以使用here中建议的案例。
if SessionStore.get(uuid) == nil do
IO.puts "uuid expired"
else
user_id = SessionStore.get(uuid)
user = Accounts.get_user!(user_id)
end