Uberauth failed on modified route

Hello All,

I have developed Rest API authentication using ueberauth , guardian and google auth provider.

Things are working as expected if I use the same route as specified in example.

  scope "/api/v0/auth/", ApiGateway do
    pipe_through :api

    get   "/:provider",           AuthController, :request

    get   "/:provider/callback",  AuthController, :callback
    post  "/:provider/callback",  AuthController, :callback

end

But If I modify the route to -

  scope "/api/v0/auth/", ApiGateway do
    pipe_through :api

    get   "/persons/oauth/:provider",   AuthController, :request

    get   "/:provider/callback",  AuthController, :callback
    post  "/:provider/callback",  AuthController, :callback

end

Then getting crash on console stating :

09:07:17.724 request_id=FnxdBAD6grgL04QAAMil [info] GET /api/v0/auth/persons/oauth/google
09:07:17.726 request_id=FnxdBAD6grgL04QAAMil [debug] Processing with ApiGateway.AuthController.request/2
  Parameters: %{"provider" => "google"}
  Pipelines: [:api]
09:07:17.731 request_id=FnxdBAD6grgL04QAAMil [debug] Plug.Session could not verify incoming session cookie. This may happen when the session settings change or a stale cookie is sent.
09:07:17.735 request_id=FnxdBAD6grgL04QAAMil [info] Sent 500 in 11ms
09:07:17.736 [error] #PID<0.7002.0> running ApiGateway.Endpoint (connection #PID<0.6994.0>, stream id 3) terminated
Server: localhost:4000 (http)
Request: GET /api/v0/auth/persons/oauth/google
** (exit) an exception was raised:
    ** (RuntimeError) expected action/2 to return a Plug.Conn, all plugs must receive a connection (conn) and return a connection, got: nil
        (api_gateway 0.1.0) lib/api_gateway/controllers/auth_controller.ex:1: ApiGateway.AuthController.phoenix_controller_pipeline/2
        (phoenix 1.5.8) lib/phoenix/router.ex:352: Phoenix.Router.__call__/2
        (api_gateway 0.1.0) lib/api_gateway/endpoint.ex:1: ApiGateway.Endpoint.plug_builder_call/2
        (api_gateway 0.1.0) lib/plug/debugger.ex:136: ApiGateway.Endpoint."call (overridable 3)"/2
        (api_gateway 0.1.0) lib/api_gateway/endpoint.ex:1: ApiGateway.Endpoint.call/2
        (phoenix 1.5.8) lib/phoenix/endpoint/cowboy2_handler.ex:65: Phoenix.Endpoint.Cowboy2Handler.init/4
        (cowboy 2.8.0) /home/prakash/git/nebula/deps/cowboy/src/cowboy_handler.erl:37: :cowboy_handler.execute/2
        (cowboy 2.8.0) /home/prakash/git/nebula/deps/cowboy/src/cowboy_stream_h.erl:300: :cowboy_stream_h.execute/3
 
nil

Does anyone have Idea what’s wrong here ?

Thanks! :smiley: