Packages
test_plug_auth
0.1.100
0.1.100
0.1.99
0.1.98
0.1.97
0.1.96
0.1.95
0.1.94
0.1.93
0.1.92
0.1.91
0.1.90
0.1.89
0.1.88
0.1.87
0.1.86
0.1.85
0.1.84
0.1.83
0.1.82
0.1.81
0.1.80
0.1.79
0.1.78
0.1.77
0.1.76
0.1.75
0.1.74
0.1.73
0.1.72
0.1.71
0.1.70
0.1.69
0.1.68
0.1.67
0.1.66
0.1.65
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.59
0.1.58
0.1.57
0.1.56
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.50
0.1.49
0.1.48
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
test
Current section
Files
Jump to
Current section
Files
lib/token_helper.ex
defmodule TestPlugAuth.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(aud, iss) do
default_claims(default_exp: 31_537_000, aud: to_string(aud), iss: to_string(iss))
end
def verify_jwt(token, secret, aud, iss) do
signer = create_signer(secret)
token_config(aud, iss)
|> Joken.verify_and_validate(token, signer)
end
def generate_jwt!(claims, secret, aud, iss) do
signer = create_signer(secret)
{:ok, token, _claims} =
token_config(aud, iss)
|> Joken.generate_and_sign(claims, signer)
token
end
end