From 3734e074a66a325a2ececf884e17d1c353bb6459 Mon Sep 17 00:00:00 2001 From: theworldbright Date: Sun, 2 Aug 2015 14:29:02 +0900 Subject: [PATCH] Fix pronto errors --- .../api/openid_connect/authorizations_controller.rb | 6 +++++- app/models/api/openid_connect/authorization.rb | 2 +- app/models/api/openid_connect/o_auth_application.rb | 2 +- app/presenters/api/v0/base_presenter.rb | 6 +++++- config/application.rb | 3 ++- features/step_definitions/implicit_flow_steps.rb | 2 +- lib/api/openid_connect/token_endpoint.rb | 4 ++-- 7 files changed, 17 insertions(+), 8 deletions(-) diff --git a/app/controllers/api/openid_connect/authorizations_controller.rb b/app/controllers/api/openid_connect/authorizations_controller.rb index a8ca51c09..3a57a0832 100644 --- a/app/controllers/api/openid_connect/authorizations_controller.rb +++ b/app/controllers/api/openid_connect/authorizations_controller.rb @@ -95,7 +95,7 @@ module Api end def restore_request_parameters - req = Rack::Request.new(request.env) + req = build_rack_request req.update_param("client_id", session[:client_id]) req.update_param("redirect_uri", session[:redirect_uri]) req.update_param("response_type", response_type_as_space_seperated_values) @@ -104,6 +104,10 @@ module Api req.update_param("nonce", session[:nonce]) end + def build_rack_request + Rack::Request.new(request.env) + end + def response_type_as_space_seperated_values if session[:response_type].respond_to?(:map) session[:response_type].map(&:to_s).join(" ") diff --git a/app/models/api/openid_connect/authorization.rb b/app/models/api/openid_connect/authorization.rb index 8ca7c8e41..639bf320a 100644 --- a/app/models/api/openid_connect/authorization.rb +++ b/app/models/api/openid_connect/authorization.rb @@ -30,7 +30,7 @@ module Api def create_code self.code = SecureRandom.hex(32) save - self.code + code end def create_access_token diff --git a/app/models/api/openid_connect/o_auth_application.rb b/app/models/api/openid_connect/o_auth_application.rb index 87ad8e898..6589cdec4 100644 --- a/app/models/api/openid_connect/o_auth_application.rb +++ b/app/models/api/openid_connect/o_auth_application.rb @@ -20,7 +20,7 @@ module Api end def image_uri - self.logo_uri ? self.logo_uri : "branding/logos/asterisk.png" + logo_uri ? logo_uri : "branding/logos/asterisk.png" end class << self diff --git a/app/presenters/api/v0/base_presenter.rb b/app/presenters/api/v0/base_presenter.rb index b425b1440..18548cdd5 100644 --- a/app/presenters/api/v0/base_presenter.rb +++ b/app/presenters/api/v0/base_presenter.rb @@ -1,2 +1,6 @@ -class Api::V0::BasePresenter +module Api + module V0 + class BasePresenter + end + end end diff --git a/config/application.rb b/config/application.rb index e5d10d066..d623be188 100644 --- a/config/application.rb +++ b/config/application.rb @@ -109,7 +109,8 @@ module Diaspora config.action_mailer.asset_host = AppConfig.pod_uri.to_s config.middleware.use Rack::OAuth2::Server::Resource::Bearer, "OpenID Connect" do |req| - Api::OpenidConnect::OAuthAccessToken.valid(Time.zone.now.utc).find_by(token: req.access_token) || req.invalid_token! + Api::OpenidConnect::OAuthAccessToken + .valid(Time.zone.now.utc).find_by(token: req.access_token) || req.invalid_token! end end end diff --git a/features/step_definitions/implicit_flow_steps.rb b/features/step_definitions/implicit_flow_steps.rb index cfeb61009..4516ab55d 100644 --- a/features/step_definitions/implicit_flow_steps.rb +++ b/features/step_definitions/implicit_flow_steps.rb @@ -9,7 +9,7 @@ o_auth_query_params = %i( Given /^I send a post request from that client to the implicit flow authorization endpoint$/ do client_json = JSON.parse(last_response.body) visit new_api_openid_connect_authorization_path + - "?client_id=#{client_json["client_id"]}&#{o_auth_query_params}" + "?client_id=#{client_json['client_id']}&#{o_auth_query_params}" end Given /^I send a post request from that client to the implicit flow authorization endpoint using a invalid client id/ do diff --git a/lib/api/openid_connect/token_endpoint.rb b/lib/api/openid_connect/token_endpoint.rb index 86d8fed09..d71525e87 100644 --- a/lib/api/openid_connect/token_endpoint.rb +++ b/lib/api/openid_connect/token_endpoint.rb @@ -8,14 +8,14 @@ module Api @app = Rack::OAuth2::Server::Token.new do |req, res| o_auth_app = retrieve_client(req) if app_valid?(o_auth_app, req) - handle_flows(o_auth_app, req, res) + handle_flows(req, res) else req.invalid_client! end end end - def handle_flows(o_auth_app, req, res) + def handle_flows(req, res) case req.grant_type when :refresh_token handle_refresh_flow(req, res)