Current section
Files
Jump to
Current section
Files
lib/hydra/hydra.ex
defmodule Hydra.Admin do
use HTTPoison.Base
alias Hydra.Admin
def process_request_url(url) do
Application.get_env(:hydra, :admin_url) <> url
end
def process_response_body(body), do: body |> Poison.decode!()
def process_request_body({:form, data}), do: {:form, data}
def process_request_body(body), do: Poison.encode!(body)
def process_request_headers([]), do: [{"Content-Type", "application/json"}]
def process_request_headers(headers), do: headers
@spec consent(String.t()) :: any()
def consent(consent) do
{:ok, %HTTPoison.Response{body: body}} =
Admin.get("/oauth2/auth/requests/consent/#{consent}", [])
body
end
@spec consent_accept(String.t(), any()) :: any()
def consent_accept(consent, body) do
{:ok, %HTTPoison.Response{body: body}} =
Admin.put("/oauth2/auth/requests/consent/#{consent}/accept", body, [])
body
end
@spec challenge_accept(String.t(), any()) :: any()
def challenge_accept(challenge, body) do
{:ok, %HTTPoison.Response{body: body}} =
Admin.put("/oauth2/auth/requests/login/#{challenge}/accept", body, [])
body
end
@spec challenge(String.t()) :: any()
def challenge(challenge) do
{:ok, %HTTPoison.Response{body: body}} = Admin.get("/oauth2/auth/requests/login/#{challenge}")
body
end
@spec introspect(String.t(), any()) :: Hydra.IntrospectResponse
def introspect(token, _scope) do
{:ok, %HTTPoison.Response{body: body}} =
Admin.post("/oauth2/introspect", {:form, [token: token]}, [
{"Content-Type", "application/x-www-form-urlencoded"}
])
body
end
end