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!