have travis token added to user payload on the server

This commit is contained in:
Konstantin Haase 2012-12-17 15:13:38 +01:00
parent c44445d8e2
commit 8c8f031259

View File

@ -92,7 +92,6 @@ class Travis::Api::App
handshake do |user, token, redirect_uri|
if target_ok? redirect_uri
content_type :html
user = Travis::Api.data(user, version: :v2)
data = { user: user, token: token, uri: redirect_uri }
erb(:post_payload, locals: data)
else
@ -131,10 +130,7 @@ class Travis::Api::App
get '/post_message/iframe', scope: :public do
handshake do |user, token, target_origin|
halt 403, invalid_target(target_origin) unless target_ok? target_origin
rendered_user = Travis::Api.data(user, version: :v2)
travis_token = user.tokens.first
post_message(token: token, user: rendered_user, target_origin: target_origin,
travis_token: travis_token ? travis_token.token : nil)
post_message(token: token, user: user, target_origin: target_origin)
end
end
@ -144,6 +140,13 @@ class Travis::Api::App
private
def serialize_user(user)
rendered_user = Travis::Api.data(user, version: :v2)
travis_token = user.tokens.first
user['token'] = travis_token.token if travis_token
rendered_user
end
def oauth_endpoint
proxy = Travis.config.oauth2.proxy
proxy ? File.join(proxy, request.fullpath) : url
@ -167,7 +170,7 @@ class Travis::Api::App
user = user_for_github_token(github_token)
token = generate_token(user: user, app_id: 0)
payload = params[:state].split(":::", 2)[1]
yield user, token, payload
yield serialize_user(user), token, payload
else
values[:state] = create_state
endpoint.path = config.authorize_path
@ -417,9 +420,8 @@ function uberParent(win) {
}
function sendPayload(win) {
var payload = <%= user.to_json %>;
payload.token = <%= token.inspect %>;
payload.travis_token = <%= travis_token ? travis_token.inspect : null %>;
var payload = <%= user.to_json %>;
payload.token = <%= token.inspect %>;
uberParent(win).postMessage(payload, <%= target_origin.inspect %>);
}