thojanssens1

thojanssens1

Ueberauth raises: function MyAppWeb.OAuthController.request/2 is undefined or private

Ueberauth raises the error below but I don’t see what is wrong with my code.

function MyAppWeb.OAuthController.request/2 is undefined or private

As far as I understand the request/2 controller action doesn’t need to be implemented as the ueberauth_google lib will redirect to Google sign on.

mix.exs:

defp deps do
  [
    {:ueberauth, "~> 0.10"},
    {:ueberauth_google, "~> 0.10"},
    # ...
  ]
end

config.exs:

config :ueberauth, Ueberauth.Strategy.Google.OAuth,
  client_id: "xxx",
  client_secret: "xxx"

config :ueberauth, Ueberauth,
  providers: [
    google: {Ueberauth.Strategy.Google, []}
  ]

router.ex:

scope "/" do
  pipe_through :api

  get "/:provider", MyAppWeb.OAuthController, :request
  get "/:provider/callback", MyAppWeb.OAuthController, :callback
end

oauth_controller.ex:

defmodule MyAppWeb.OAuthController do
  use MyAppWeb, :controller

  plug Ueberauth

  def callback(%{assigns: %{ueberauth_auth: ueberauth_data}} = conn, _params) do
    # ...
  end

  def callback(%{assigns: %{ueberauth_failure: _}} = conn, _params) do
    # ...
  end
end

Execute:

GET http://localhost:4000/google

Result

UndefinedFunctionError at GET /google

function MyAppWeb.OAuthController.request/2 is undefined or private

Marked As Solved

thojanssens1

thojanssens1

I finally found the error, I had to configure the :base_path option according to my routes. By default, the :base_path is assumed to be /auth.

I think this option should be forced to be explicitly set.

Where Next?

Popular in Questions Top

pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
Kagamiiiii
Student & New to elixir. Nice language. I want to convert a english character, e.g. “a”, which is stored in a variable, to it’s asci...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

Other popular topics Top

lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New

We're in Beta

About us Mission Statement