Merge branch 'fix/access-mastofe-auth-on-private-instances' into 'develop'
Redirect not logged-in users to the MastoFE login page on private instances Closes #1045 See merge request pleroma/pleroma!1503
This commit is contained in:
		
						commit
						8be0154094
					
				
					 3 changed files with 17 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -28,6 +28,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 | 
			
		|||
- Rich Media: The crawled URL is now spliced into the rich media data.
 | 
			
		||||
- ActivityPub S2S: sharedInbox usage has been mostly aligned with the rules in the AP specification.
 | 
			
		||||
- ActivityPub S2S: remote user deletions now work the same as local user deletions.
 | 
			
		||||
- Not being able to access the Mastodon FE login page on private instances
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
- MRF: Support for priming the mediaproxy cache (`Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy`)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -698,7 +698,7 @@ defmodule Pleroma.Web.Router do
 | 
			
		|||
    post("/auth/password", MastodonAPIController, :password_reset)
 | 
			
		||||
 | 
			
		||||
    scope [] do
 | 
			
		||||
      pipe_through(:oauth_read_or_public)
 | 
			
		||||
      pipe_through(:oauth_read)
 | 
			
		||||
      get("/web/*path", MastodonAPIController, :index)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3154,6 +3154,21 @@ test "redirects not logged-in users to the login page", %{conn: conn, path: path
 | 
			
		|||
      assert redirected_to(conn) == "/web/login"
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "redirects not logged-in users to the login page on private instances", %{
 | 
			
		||||
      conn: conn,
 | 
			
		||||
      path: path
 | 
			
		||||
    } do
 | 
			
		||||
      is_public = Pleroma.Config.get([:instance, :public])
 | 
			
		||||
      Pleroma.Config.put([:instance, :public], false)
 | 
			
		||||
 | 
			
		||||
      conn = get(conn, path)
 | 
			
		||||
 | 
			
		||||
      assert conn.status == 302
 | 
			
		||||
      assert redirected_to(conn) == "/web/login"
 | 
			
		||||
 | 
			
		||||
      Pleroma.Config.put([:instance, :public], is_public)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "does not redirect logged in users to the login page", %{conn: conn, path: path} do
 | 
			
		||||
      token = insert(:oauth_token)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue