Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
70c81b95
Commit
70c81b95
authored
May 13, 2019
by
Aaron Tinio
Browse files
Pipe requests to public endpoints through EnsurePublicOrAuthenticatedPlug
parent
7b8dc99e
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/router.ex
View file @
70c81b95
...
...
@@ -84,11 +84,13 @@ defmodule Pleroma.Web.Router do
plug
(
Pleroma
.
Plugs
.
EnsureUserKeyPlug
)
end
pipeline
:oauth_read_or_
unauthenticated
do
pipeline
:oauth_read_or_
public
do
plug
(
Pleroma
.
Plugs
.
OAuthScopesPlug
,
%{
scopes:
[
"read"
],
fallback:
:proceed_unauthenticated
})
plug
(
Pleroma
.
Plugs
.
EnsurePublicOrAuthenticatedPlug
)
end
pipeline
:oauth_read
do
...
...
@@ -404,7 +406,7 @@ defmodule Pleroma.Web.Router do
get
(
"/accounts/search"
,
MastodonAPIController
,
:account_search
)
scope
[]
do
pipe_through
(
:oauth_read_or_
unauthenticated
)
pipe_through
(
:oauth_read_or_
public
)
get
(
"/timelines/public"
,
MastodonAPIController
,
:public_timeline
)
get
(
"/timelines/tag/:tag"
,
MastodonAPIController
,
:hashtag_timeline
)
...
...
@@ -425,7 +427,7 @@ defmodule Pleroma.Web.Router do
end
scope
"/api/v2"
,
Pleroma
.
Web
.
MastodonAPI
do
pipe_through
([
:api
,
:oauth_read_or_
unauthenticated
])
pipe_through
([
:api
,
:oauth_read_or_
public
])
get
(
"/search"
,
MastodonAPIController
,
:search2
)
end
...
...
@@ -455,7 +457,7 @@ defmodule Pleroma.Web.Router do
)
scope
[]
do
pipe_through
(
:oauth_read_or_
unauthenticated
)
pipe_through
(
:oauth_read_or_
public
)
get
(
"/statuses/user_timeline"
,
TwitterAPI
.
Controller
,
:user_timeline
)
get
(
"/qvitter/statuses/user_timeline"
,
TwitterAPI
.
Controller
,
:user_timeline
)
...
...
@@ -473,7 +475,7 @@ defmodule Pleroma.Web.Router do
end
scope
"/api"
,
Pleroma
.
Web
do
pipe_through
([
:api
,
:oauth_read_or_
unauthenticated
])
pipe_through
([
:api
,
:oauth_read_or_
public
])
get
(
"/statuses/public_timeline"
,
TwitterAPI
.
Controller
,
:public_timeline
)
...
...
@@ -487,7 +489,7 @@ defmodule Pleroma.Web.Router do
end
scope
"/api"
,
Pleroma
.
Web
,
as:
:twitter_api_search
do
pipe_through
([
:api
,
:oauth_read_or_
unauthenticated
])
pipe_through
([
:api
,
:oauth_read_or_
public
])
get
(
"/pleroma/search_user"
,
TwitterAPI
.
Controller
,
:search_user
)
end
...
...
@@ -671,7 +673,7 @@ defmodule Pleroma.Web.Router do
delete
(
"/auth/sign_out"
,
MastodonAPIController
,
:logout
)
scope
[]
do
pipe_through
(
:oauth_read_or_
unauthenticated
)
pipe_through
(
:oauth_read_or_
public
)
get
(
"/web/*path"
,
MastodonAPIController
,
:index
)
end
end
...
...
test/web/mastodon_api/mastodon_api_controller_test.exs
View file @
70c81b95
...
...
@@ -81,6 +81,19 @@ test "the public timeline", %{conn: conn} do
end
)
end
test
"the public timeline when public is set to false"
,
%{
conn:
conn
}
do
public
=
Pleroma
.
Config
.
get
([
:instance
,
:public
])
Pleroma
.
Config
.
put
([
:instance
,
:public
],
false
)
on_exit
(
fn
->
Pleroma
.
Config
.
put
([
:instance
,
:public
],
public
)
end
)
assert
conn
|>
get
(
"/api/v1/timelines/public"
,
%{
"local"
=>
"False"
})
|>
json_response
(
403
)
==
%{
"error"
=>
"This resource requires authentication."
}
end
test
"posting a status"
,
%{
conn:
conn
}
do
user
=
insert
(
:user
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment