Packages
test_plug_auth
0.1.97
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/test_plug_auth.ex
defmodule TestPlugAuth do
import Plug.Conn
import TestPlugAuth.TokenHelper
import TestPlugAuth.Config
import TestPlugAuth.User
defmacro __using__(options) do
IO.puts("options in using: #{inspect options}")
behaviour = get_module(Keyword.get(options, :module))
quote do
alias unquote(behaviour), as: Mod
# def init(options) do
# options
# end
def call(conn, options) do
user_id = conn.body_params[options[:key]]
token = get_token(conn.req_headers)
IO.puts("authorization: #{inspect token}")
IO.puts("test_check_user: #{inspect Mod.get_user_id(user_id)}")
IO.puts("options_call: #{inspect options}")
secret_key = get_secret_key
IO.puts("secret_key: #{inspect secret_key}")
{:ok, jwt_body} = verify_jwt(token, secret_key, Keyword.get(options, :aud), Keyword.get(options, :iss))
IO.puts("verify_jwt: #{inspect jwt_body}}")
{:ok, sub} = Map.fetch(jwt_body, "sub")
answer = validate_user_id(user_id, sub, Mod.get_user_id(user_id))
IO.puts("validate_user: #{inspect answer}")
if {:ok, :authorized} == answer do
conn
else
conn |> resp(401, "unauthorized") |> halt()
end
end
def generate_token(conn, opt, aud, iss) do
IO.puts("opt: #{inspect opt}")
IO.puts("opt: #{inspect conn}")
IO.puts("resp body: #{inspect conn.body_params}")
# token = generate_jwt!(conn.body_params, get_secret_key, opt.aud, opt.iss)
token = generate_jwt!(opt, get_secret_key, aud, iss)
IO.puts("token: #{inspect token}")
token
end
end
end
# def init(options) do
# options
# end
# def call(conn, options) do
# IO.puts("conn: #{inspect conn}")
# IO.puts("user_id: #{inspect conn.body_params[options[:key]]}")
# IO.puts("req_headers: #{inspect conn.req_headers}")
# auth = get_token(conn.req_headers)
# IO.puts("authorization: #{inspect auth}")
# IO.puts("test_check_user: #{inspect User.check_user()}")
# IO.puts("options_call: #{inspect options}")
# conn
# end
# def check_user do
# "test method in plug"
# end
end