Packages
test_plug_auth
0.1.92
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]]
IO.puts("user_id: #{inspect user_id}")
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 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(auth, secret_key, Keyword.get(options, :aud), Keyword.get(options, :iss))
IO.puts("verify_jwt: #{inspect jwt_body}}")
{:ok, sub} = Map.fetch(jwt_body, "sub")
# IO.puts("sub1: #{inspect 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
IO.puts("1111")
conn
else
IO.puts("222")
conn |> resp(401, "unauthorized")
end
# conn |> Plug.Conn.put_flash(answer)
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