feat: expose CRUD, onboarding, pubsub via web

This commit is contained in:
2026-04-22 16:32:41 +02:00
parent 9807331da4
commit 9389c32244
33 changed files with 1536 additions and 7 deletions
+29
View File
@@ -0,0 +1,29 @@
defmodule Localiser.Web.Token do
use Joken.Config
@ttl 86_400 # 24 hours in seconds
@impl true
def token_config do
default_claims(
iss: "localiserd",
default_exp: @ttl
)
end
def generate(claims) do
secret = Application.fetch_env!(:localiserd, :jwt_secret)
signer = Joken.Signer.create("HS256", secret)
case generate_and_sign(claims, signer) do
{:ok, token, _claims} -> token
{:error, reason} -> raise "Token generation failed: #{inspect(reason)}"
end
end
def verify_token(token) do
secret = Application.fetch_env!(:localiserd, :jwt_secret)
signer = Joken.Signer.create("HS256", secret)
verify_and_validate(token, signer)
end
end