OAuth form user remembering feature. Local MastoFE login / logout fixes.

This commit is contained in:
Ivan Tashkinov 2020-11-28 21:51:06 +03:00
commit f1b07a2b2b
14 changed files with 488 additions and 297 deletions

View file

@ -611,6 +611,41 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
end
end
test "authorize from cookie" do
user = insert(:user)
app = insert(:oauth_app)
oauth_token = insert(:oauth_token, user: user, app: app)
redirect_uri = OAuthController.default_redirect_uri(app)
conn =
build_conn()
|> Plug.Session.call(Plug.Session.init(@session_opts))
|> fetch_session()
|> AuthHelper.put_session_token(oauth_token.token)
|> post(
"/oauth/authorize",
%{
"authorization" => %{
"name" => user.nickname,
"client_id" => app.client_id,
"redirect_uri" => redirect_uri,
"scope" => app.scopes,
"state" => "statepassed"
}
}
)
target = redirected_to(conn)
assert target =~ redirect_uri
query = URI.parse(target).query |> URI.query_decoder() |> Map.new()
assert %{"state" => "statepassed", "code" => code} = query
auth = Repo.get_by(Authorization, token: code)
assert auth
assert auth.scopes == app.scopes
end
test "redirect to on two-factor auth page" do
otp_secret = TOTP.generate_secret()
@ -1221,8 +1256,8 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
end
end
describe "POST /oauth/revoke - bad request" do
test "returns 500" do
describe "POST /oauth/revoke" do
test "returns 500 on bad request" do
response =
build_conn()
|> post("/oauth/revoke", %{})