have travis token added to user payload on the server
This commit is contained in:
parent
c44445d8e2
commit
8c8f031259
|
@ -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,13 @@ class Travis::Api::App
|
||||||
|
|
||||||
private
|
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
|
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 +170,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
|
||||||
|
@ -417,9 +420,8 @@ 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 %>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user