Current section

Files

Jump to
boruta priv templates boruta.gen.controllers controllers openid userinfo_controller.ex.eex
Raw

priv/templates/boruta.gen.controllers/controllers/openid/userinfo_controller.ex.eex

defmodule <%= @web_module %>.Openid.UserinfoController do
@behaviour Boruta.Openid.UserinfoApplication
use <%= @web_module %>, :controller
alias <%= @web_module %>.OpenidView
def openid_module, do: Application.get_env(:<%= @otp_app %>, :openid_module, Boruta.Openid)
def userinfo(conn, _params) do
openid_module().userinfo(conn, __MODULE__)
end
@impl Boruta.Openid.UserinfoApplication
def userinfo_fetched(conn, userinfo) do
conn
|> put_view(OpenidView)
|> render("userinfo.json", userinfo: userinfo)
end
@impl Boruta.Openid.UserinfoApplication
def unauthorized(conn, error) do
conn
|> put_resp_header(
"www-authenticate",
"error=\"#{error.error}\", error_description=\"#{error.error_description}\""
)
|> send_resp(:unauthorized, "")
end
end