Merge branch 'rkh-token-in-user'
This commit is contained in:
commit
0ac45a6582
|
@ -92,7 +92,6 @@ class Travis::Api::App
|
||||||
handshake do |user, token, redirect_uri|
|
handshake do |user, token, redirect_uri|
|
||||||
if target_ok? redirect_uri
|
if target_ok? redirect_uri
|
||||||
content_type :html
|
content_type :html
|
||||||
user = Travis::Api.data(user, version: :v2)
|
|
||||||
data = { user: user, token: token, uri: redirect_uri }
|
data = { user: user, token: token, uri: redirect_uri }
|
||||||
erb(:post_payload, locals: data)
|
erb(:post_payload, locals: data)
|
||||||
else
|
else
|
||||||
|
@ -131,10 +130,7 @@ class Travis::Api::App
|
||||||
get '/post_message/iframe', scope: :public do
|
get '/post_message/iframe', scope: :public do
|
||||||
handshake do |user, token, target_origin|
|
handshake do |user, token, target_origin|
|
||||||
halt 403, invalid_target(target_origin) unless target_ok? target_origin
|
halt 403, invalid_target(target_origin) unless target_ok? target_origin
|
||||||
rendered_user = Travis::Api.data(user, version: :v2)
|
post_message(token: token, user: user, target_origin: target_origin)
|
||||||
travis_token = user.tokens.first
|
|
||||||
post_message(token: token, user: rendered_user, target_origin: target_origin,
|
|
||||||
travis_token: travis_token ? travis_token.token : nil)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -144,6 +140,11 @@ class Travis::Api::App
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def serialize_user(user)
|
||||||
|
rendered = Travis::Api.data(user, version: :v2)
|
||||||
|
rendered['user'].merge('token' => user.tokens.first.try(:token).to_s)
|
||||||
|
end
|
||||||
|
|
||||||
def oauth_endpoint
|
def oauth_endpoint
|
||||||
proxy = Travis.config.oauth2.proxy
|
proxy = Travis.config.oauth2.proxy
|
||||||
proxy ? File.join(proxy, request.fullpath) : url
|
proxy ? File.join(proxy, request.fullpath) : url
|
||||||
|
@ -167,7 +168,7 @@ class Travis::Api::App
|
||||||
user = user_for_github_token(github_token)
|
user = user_for_github_token(github_token)
|
||||||
token = generate_token(user: user, app_id: 0)
|
token = generate_token(user: user, app_id: 0)
|
||||||
payload = params[:state].split(":::", 2)[1]
|
payload = params[:state].split(":::", 2)[1]
|
||||||
yield user, token, payload
|
yield serialize_user(user), token, payload
|
||||||
else
|
else
|
||||||
values[:state] = create_state
|
values[:state] = create_state
|
||||||
endpoint.path = config.authorize_path
|
endpoint.path = config.authorize_path
|
||||||
|
@ -419,7 +420,6 @@ function uberParent(win) {
|
||||||
function sendPayload(win) {
|
function sendPayload(win) {
|
||||||
var payload = <%= user.to_json %>;
|
var payload = <%= user.to_json %>;
|
||||||
payload.token = <%= token.inspect %>;
|
payload.token = <%= token.inspect %>;
|
||||||
payload.travis_token = <%= travis_token ? travis_token.inspect : null %>;
|
|
||||||
uberParent(win).postMessage(payload, <%= target_origin.inspect %>);
|
uberParent(win).postMessage(payload, <%= target_origin.inspect %>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -433,8 +433,8 @@ if(window.parent == window) {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ post_payload
|
@@ post_payload
|
||||||
<body onload='document.forms[0].submit()'>
|
<body onload=''>
|
||||||
<form action="<%= uri %>" method='post'>
|
<form action="<%= document.forms[0].submit() %>" method='post'>
|
||||||
<input type='hidden' name='token' value='<%= token %>'>
|
<input type='hidden' name='token' value='<%= token %>'>
|
||||||
<input type='hidden' name='user' value="<%= user.to_json.gsub('"', '"') %>">
|
<input type='hidden' name='user' value="<%= user.to_json.gsub('"', '"') %>">
|
||||||
<input type='hidden' name='storage' value='localStorage'>
|
<input type='hidden' name='storage' value='localStorage'>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user