Merge branch 'bugfix/oauth-scopes-join' into 'develop'

Bugfix: OAuth scopes formatting

Closes #702

See merge request pleroma/pleroma!881
This commit is contained in:
rinpatch 2019-03-02 06:39:07 +00:00
commit f38c316e6e
2 changed files with 8 additions and 6 deletions

View File

@ -113,7 +113,7 @@ def token_exchange(conn, %{"grant_type" => "authorization_code"} = params) do
refresh_token: token.refresh_token,
created_at: DateTime.to_unix(inserted_at),
expires_in: 60 * 10,
scope: Enum.join(token.scopes)
scope: Enum.join(token.scopes, " ")
}
json(conn, response)

View File

@ -165,10 +165,10 @@ test "issues a token for `password` grant_type with valid credentials, with full
test "issues a token for request with HTTP basic auth client credentials" do
user = insert(:user)
app = insert(:oauth_app, scopes: ["scope1", "scope2"])
app = insert(:oauth_app, scopes: ["scope1", "scope2", "scope3"])
{:ok, auth} = Authorization.create_authorization(app, user, ["scope2"])
assert auth.scopes == ["scope2"]
{:ok, auth} = Authorization.create_authorization(app, user, ["scope1", "scope2"])
assert auth.scopes == ["scope1", "scope2"]
app_encoded =
(URI.encode_www_form(app.client_id) <> ":" <> URI.encode_www_form(app.client_secret))
@ -183,11 +183,13 @@ test "issues a token for request with HTTP basic auth client credentials" do
"redirect_uri" => app.redirect_uris
})
assert %{"access_token" => token} = json_response(conn, 200)
assert %{"access_token" => token, "scope" => scope} = json_response(conn, 200)
assert scope == "scope1 scope2"
token = Repo.get_by(Token, token: token)
assert token
assert token.scopes == ["scope2"]
assert token.scopes == ["scope1", "scope2"]
end
test "rejects token exchange with invalid client credentials" do