Current section

Files

Jump to
oauth2_server lib plugs secured.ex
Raw

lib/plugs/secured.ex

defmodule Oauth2Server.Secured do
import Plug.Conn
def init(default), do: default
def call(%Plug.Conn{params: %{"access_token" => access_token}} = conn, _default) do
oauth_access_token = Oauth2Server.Repo.get_oauth_access_token(access_token, :os.system_time(:seconds));
case oauth_access_token do
nil ->
conn
|> put_resp_content_type("application/json")
|> send_resp(400, Poison.encode!(%{message: "Not authorized"}))
_ ->
case oauth_access_token.user_id do
nil ->
conn
|> put_resp_content_type("application/json")
|> send_resp(400, Poison.encode!(%{message: "Not authorized"}))
_ ->
put_session(conn, :oauth2_server_user_id, oauth_access_token.user_id)
end
end
end
def call(conn, default) do
conn
|> put_resp_content_type("application/json")
|> send_resp(400, Poison.encode!(%{message: "Not authorized"}))
end
end