# TODO: ask eric about naming defmodule PlugParadoxAuth.GoogleAuthSet do import Plug.Conn def init(options) do options end def call(conn, _opts) do %{params: %{"code" => code}} = conn {:ok, token} = ElixirAuthGoogle.get_token(code, conn) # TODO make sure this is a paradox profile {:ok, profile} = ElixirAuthGoogle.get_user_profile(token.access_token) IO.puts "blurrrp" IO.inspect profile IO.inspect profile.email url = conn |> fetch_session |> get_session(:google_auth_success_url) # this might not be an issue if I use a newer version of phoenix / plug # https://github.com/elixir-plug/plug/issues/1017 conn |> fetch_session |> put_session(:google_user, profile.email) |> put_resp_header("location", url) |> send_resp(302, "text/html") end end