From 6dbd60cdc969598fc0c9aad0716cfe93477ffa9c Mon Sep 17 00:00:00 2001 From: Ivan Kuznetsov Date: Thu, 10 Jun 2010 22:45:36 +0300 Subject: [PATCH 1/2] Fix: handling the case when no callback_url is specified at all --- lib/oauth/controllers/provider_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/oauth/controllers/provider_controller.rb b/lib/oauth/controllers/provider_controller.rb index 1bc7a1fd..f0870754 100644 --- a/lib/oauth/controllers/provider_controller.rb +++ b/lib/oauth/controllers/provider_controller.rb @@ -47,10 +47,11 @@ def authorize if user_authorizes_token? @token.authorize!(current_user) if @token.oauth10? - @redirect_url = URI.parse(params[:oauth_callback] || @token.client_application.callback_url) + callback_url = params[:oauth_callback] || @token.client_application.callback_url else - @redirect_url = URI.parse(@token.oob? ? @token.client_application.callback_url : @token.callback_url) + callback_url = @token.oob? ? @token.client_application.callback_url : @token.callback_url end + @redirect_url = URI.parse(callback_url) unless callback_url.blank? unless @redirect_url.to_s.blank? if @token.oauth10? From 4246b1bccc328dc7f7b9985654bbf75068220abc Mon Sep 17 00:00:00 2001 From: Shaliko Usubov Date: Wed, 5 Oct 2011 18:15:04 +0400 Subject: [PATCH 2/2] Allow callback_url equal nil --- lib/oauth/controllers/provider_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/oauth/controllers/provider_controller.rb b/lib/oauth/controllers/provider_controller.rb index fe43334c..855a1525 100644 --- a/lib/oauth/controllers/provider_controller.rb +++ b/lib/oauth/controllers/provider_controller.rb @@ -100,7 +100,8 @@ def oauth1_authorize if request.post? if user_authorizes_token? @token.authorize!(current_user) - @redirect_url = URI.parse(@token.oob? ? @token.client_application.callback_url : @token.callback_url) + callback_url = @token.oob? ? @token.client_application.callback_url : @token.callback_url + @redirect_url = URI.parse(callback_url) unless callback_url.blank? unless @redirect_url.to_s.blank? @redirect_url.query = @redirect_url.query.blank? ?