Current section

Files

Jump to
test_plug_auth lib token_helper.ex
Raw

lib/token_helper.ex

defmodule TokenHelper do
use Joken.Config
def get_token(headers) do
Enum.reduce(headers, [], fn({k,v}, acc) ->
if k == "authorization" do
acc ++ v
else
acc
end
end)
|> String.split(" ")
|> List.last
end
def get_module(mod) do
mod
|> Tuple.to_list
|> List.last
|> Enum.reduce("Elixir", fn(x, acc) -> acc <> "." <> Atom.to_string(x) end)
|> String.to_atom
end
def create_signer(secret) do
Joken.Signer.create("HS512", secret)
end
def token_config do
default_claims(default_exp: 31_537_000, aud: "vacations")
end
def verify_jwt(token, secret) do
signer = create_signer(secret)
token_config()
|> Joken.verify_and_validate(token, signer)
end
end