diff options
author | kaniini <nenolod@gmail.com> | 2018-09-09 23:09:43 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-09-09 23:09:43 +0000 |
commit | 7b96d203287a00791b6c118ce453aa8e34f3112d (patch) | |
tree | 3094eec54d17796299aa98ed76d7265beceb2805 | |
parent | 3f64ba5fc8f29efeadf7a072cf8339c778b3fd2d (diff) | |
parent | 801d645c6b457743873924cfbc1da3697dbb8df8 (diff) | |
download | pleroma-7b96d203287a00791b6c118ce453aa8e34f3112d.tar.gz |
Merge branch 'bugfix/missing-url-encoding-oauth-token-redirect' into 'develop'
Add missing URL encoding in create authorization redirect
See merge request pleroma/pleroma!338
-rw-r--r-- | lib/pleroma/web/oauth/oauth_controller.ex | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/pleroma/web/oauth/oauth_controller.ex b/lib/pleroma/web/oauth/oauth_controller.ex index 160cedd8e..5441ee0a8 100644 --- a/lib/pleroma/web/oauth/oauth_controller.ex +++ b/lib/pleroma/web/oauth/oauth_controller.ex @@ -39,15 +39,18 @@ defmodule Pleroma.Web.OAuth.OAuthController do }) else connector = if String.contains?(redirect_uri, "?"), do: "&", else: "?" - url = "#{redirect_uri}#{connector}code=#{auth.token}" + url = "#{redirect_uri}#{connector}" + url_params = %{:code => auth.token} - url = + url_params = if params["state"] do - url <> "&state=#{params["state"]}" + Map.put(url_params, :state, params["state"]) else - url + url_params end + url = "#{url}#{Plug.Conn.Query.encode(url_params)}" + redirect(conn, external: url) end end |