Packages
test_plug_auth
0.1.15
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
@moduledoc """
Documentation for `TestPlugAuth`.
"""
@doc """
Hello world.
## Examples
iex> TestPlugAuth.hello()
:world
"""
defmacro __using__ (options \\ []) do
# @behaviour Guardian
quote bind_quoted: [options: options] do
use Guardian.Plug.Pipeline, otp_app: options[:otp_app],
module: options[:module],
error_handler: options[:error_handler]
plug Guardian.Plug.VerifyHeader, realm: options[:realm]
plug Guardian.Plug.EnsureAuthenticated
plug Guardian.Plug.LoadResource
use Guardian, otp_app: options[:otp_app]
def subject_for_token(user, _claims) do
sub = to_string(user.id)
{:ok, sub}
end
def subject_for_token(_, _) do
{:error, :reason_for_error}
end
def resource_from_claims(claims) do
id = claims["sub"]
resource = unquote(options[:account]).get_user!(id)
{:ok, resource}
end
def resource_from_claims(_claims) do
{:error, :reason_for_error}
end
end
IO.puts("USING")
end
def init(options) do
# @behaviour Guardian
# use Guardian.Plug.Pipeline, otp_app: options[:otp_app],
# module: options[:module],
# error_handler: options[:error_handler]
#
# plug Guardian.Plug.VerifyHeader, realm: options[:realm]
# plug Guardian.Plug.EnsureAuthenticated
# plug Guardian.Plug.LoadResource
options
end
def call(conn, options) do
# quote bind_quoted: [options: options] do
# @behaviour Guardian
# use Guardian.Plug.Pipeline, otp_app: options[:otp_app],
# module: options[:module],
# error_handler: options[:error_handler]
#
# plug Guardian.Plug.VerifyHeader, realm: options[:realm]
# plug Guardian.Plug.EnsureAuthenticated
# plug Guardian.Plug.LoadResource
# end
# user = Guardian.Plug.current_resource(conn)
# if options[:user_id] == user.id do
# conn
# else
# # {:invalid_payload, %BadTokenException{}}
# conn |> Plug.Conn.resp(401, "unauthorized")
# end
answer = Map.new(conn.body_params)
conn |> Plug.Conn.resp(401, answer)
end
# def validate_user_id(conn, user_id) do
# user = Guardian.Plug.current_resource(conn)
# if user_id == user.id do
# conn
# else
## {:invalid_payload, %BadTokenException{}}
# conn
# |> put_flash(:error, "You need to sign in or sign up before continuing.")
# |> halt()
# end
# end
end