MastodonAPI: Add sign out.
authorRoger Braun <roger@rogerbraun.net>
Sun, 19 Nov 2017 12:23:16 +0000 (13:23 +0100)
committerRoger Braun <roger@rogerbraun.net>
Sun, 19 Nov 2017 12:23:16 +0000 (13:23 +0100)
Close #79

lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
lib/pleroma/web/router.ex

index ca1e4c8d5e6d2b0eaaae8f2c7b95d70e5ec22f53..9c50e850b057d3d66871b8a233c7a2930d30da70 100644 (file)
@@ -583,6 +583,12 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
     end
   end
 
+  def logout(conn, _) do
+    conn
+    |> clear_session
+    |> redirect(to: "/")
+  end
+
   def relationship_noop(%{assigns: %{user: user}} = conn, %{"id" => id}) do
     Logger.debug("Unimplemented, returning unmodified relationship")
     with %User{} = target <- Repo.get(User, id) do
index beca1581e8587d9aa09de293bafabbc58e2333d9..f3c476fdce4fd7126f1f3bfb25b02624fb02403e 100644 (file)
@@ -223,12 +223,13 @@ defmodule Pleroma.Web.Router do
     get "/webfinger", WebFinger.WebFingerController, :webfinger
   end
 
-  scope "/web", Pleroma.Web.MastodonAPI do
+  scope "/", Pleroma.Web.MastodonAPI do
     pipe_through :mastodon_html
 
-    get "/login", MastodonAPIController, :login
-    post "/login", MastodonAPIController, :login_post
-    get "/*path", MastodonAPIController, :index
+    get "/web/login", MastodonAPIController, :login
+    post "/web/login", MastodonAPIController, :login_post
+    get "/web/*path", MastodonAPIController, :index
+    delete "/auth/sign_out", MastodonAPIController, :logout
   end
 
   scope "/", Fallback do