File size: 627 Bytes
3e21b19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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