# TODO: ask eric about naming
defmodule PlugParadoxAuth.GoogleAuthPlug do
import Plug.Conn
def init(options) do
# initialize options
options
end
# this should kick off a call to a module and pipe to a response
# https://oauth2.googleapis.com/token
def call(conn, _opts) do
conn
|> check_session
|> put_resp_header("location", ElixirAuthGoogle.generate_oauth_url(conn))
|> send_resp(302, "text/html")
end
def check_session(conn) do
# assumption: access to get_session function
IO.puts "google auth url"
IO.inspect ElixirAuthGoogle.generate_oauth_url(conn)
IO.inspect System.get_env("GOOGLE_CLIENT_ID")
IO.puts "get session:"
IO.inspect get_session(conn, :paradox_google_auth)
case get_session(conn, :paradox_google_auth) do
{:ok, res} ->
IO.inspect res
_ ->
# assumption: this code will create a link that uses the google credentials
# assumption: I had access to redirect phoenix function
# redirect(conn, to: ElixirAuthGoogle.generate_oauth_url(conn))
# IO.puts "google auth url"
# ElixirAuthGoogle.generate_oauth_url(conn)
# send_resp(conn, 200, "Hello world")
IO.puts "yolo"
end
end
end