Packages

A drop-in token replacement for assent using Paseto.

Current section

Files

Jump to
assent_paseto lib assent_paseto.ex
Raw

lib/assent_paseto.ex

defmodule AssentPaseto do
@moduledoc """
The implementation of the `Assent.JWTAdapter`. While is isn't strictly a
JWT, it is still a token that serializes similarly and can fit into the API.
"""
alias Assent.JWTAdapter
@behaviour JWTAdapter
alias Paseto
alias Paseto.V2
@impl JWTAdapter
def sign(_claims, _alg, _secret, opts \\ [])
def sign(claims, _alg, secret, _opts), do: {:ok, V2.sign(claims, secret)}
@impl JWTAdapter
def verify(_token, _secret, opts \\ [])
def verify(token, secret, _opts) do
with {:ok, %Paseto.Token{payload: payload}} <- Paseto.parse_token(token, secret) do
{:ok, payload}
end
end
end