No function clause matching in DiscussWeb.AuthController.callback/2

use DiscussWeb, :controller

alias Discuss.Repo

alias Discuss.User

plug Ueberauth

def callback(%{assigns: %{ueberauth_auth: auth}} = conn, params) do

user_params = %{token: auth.credentials.token, email: auth.info.email, provider: "github"}  

changeset = User.changeset(%User{}, user_params)

end

defp signin(conn, changeset) do

  case insert_or_upate_user(changeset) do

      {:ok, user} ->

           conn

           |> put_flash(:info, "Welcome back")

           |> put_session(:user_id, user.id)

           |> redirect(to: Routes.topic_path(conn, :index)) 

        {:error, _reason} ->

            conn

             |> put_flash(:error, "Error signing in")

             |> redirect(to: Routes.topic_path(conn, :index))

  end

end

defp insert_or_upate_user(changeset)do

    case Repo.get_by(User, email: changeset.changes.email)do

        nil ->

           Repo.insert(changeset)

        user ->

            {:ok, user}

    end

end 

end

Have you followed any tutorial to setup uberauth?