Я хочу знать, как предотвратить эту ошибку, которую я получаю при запросе сеанса с истекшим сроком действия.Что может быть хорошим способом сделать это?Я проверил Пользовательские ошибки , но не уверен, насколько это полезно.
Сначала в сеансе создается и устанавливается 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
Сначала я просто проверяю значение nil.Я мог бы также использовать случай, как предложено в здесь .
if SessionStore.get(uuid) == nil do IO.puts "uuid expired" else user_id = SessionStore.get(uuid) user = Accounts.get_user!(user_id) end