| defmodule Plausible.Auth.Token do | |
| @one_hour_in_seconds 30 * 60 | |
| def sign_shared_link(slug) do | |
| Phoenix.Token.sign(PlausibleWeb.Endpoint, "shared-link", %{slug: slug}) | |
| end | |
| def verify_shared_link(token) do | |
| Phoenix.Token.verify(PlausibleWeb.Endpoint, "shared-link", token, | |
| max_age: @one_hour_in_seconds * 24 | |
| ) | |
| end | |
| def sign_password_reset(email) do | |
| Phoenix.Token.sign(PlausibleWeb.Endpoint, "password-reset", %{email: email}) | |
| end | |
| def verify_password_reset(token) do | |
| Phoenix.Token.verify(PlausibleWeb.Endpoint, "password-reset", token, | |
| max_age: @one_hour_in_seconds | |
| ) | |
| end | |
| end | |