From 8ba6d07552689f58ea0efbbf1181f8bc1e8400d4 Mon Sep 17 00:00:00 2001 From: Filip Jakubowski-Drzewiecki Date: Wed, 30 Dec 2020 14:10:31 +0100 Subject: [PATCH 1/3] option redirect_url --- lib/omniauth/strategies/linkedin.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/omniauth/strategies/linkedin.rb b/lib/omniauth/strategies/linkedin.rb index 98424fb..b237cbe 100755 --- a/lib/omniauth/strategies/linkedin.rb +++ b/lib/omniauth/strategies/linkedin.rb @@ -14,6 +14,8 @@ class LinkedIn < OmniAuth::Strategies::OAuth2 option :scope, 'r_liteprofile r_emailaddress' option :fields, ['id', 'first-name', 'last-name', 'picture-url', 'email-address'] + option :redirect_url + uid do raw_info['id'] end @@ -34,7 +36,7 @@ class LinkedIn < OmniAuth::Strategies::OAuth2 end def callback_url - full_host + script_name + callback_path + redirect_url ? redirect_url : full_host + script_name + callback_path end alias :oauth2_access_token :access_token From c6a410410b10fd04f800889e85cfc47785531137 Mon Sep 17 00:00:00 2001 From: Filip Jakubowski-Drzewiecki Date: Wed, 30 Dec 2020 14:16:46 +0100 Subject: [PATCH 2/3] options scope added --- lib/omniauth/strategies/linkedin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/omniauth/strategies/linkedin.rb b/lib/omniauth/strategies/linkedin.rb index b237cbe..7afe0f6 100755 --- a/lib/omniauth/strategies/linkedin.rb +++ b/lib/omniauth/strategies/linkedin.rb @@ -36,7 +36,7 @@ class LinkedIn < OmniAuth::Strategies::OAuth2 end def callback_url - redirect_url ? redirect_url : full_host + script_name + callback_path + options.redirect_url ? options.redirect_url : full_host + script_name + callback_path end alias :oauth2_access_token :access_token From 78bfcc0d9a84a88a8f9a9e66d59a45d1fb7820de Mon Sep 17 00:00:00 2001 From: Filip Jakubowski-Drzewiecki Date: Thu, 31 Dec 2020 07:45:47 +0100 Subject: [PATCH 3/3] WIP tmp fix for redirection --- lib/omniauth/strategies/linkedin.rb | 5 ++++- spec/omniauth/strategies/linkedin_spec.rb | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/omniauth/strategies/linkedin.rb b/lib/omniauth/strategies/linkedin.rb index 7afe0f6..f649e44 100755 --- a/lib/omniauth/strategies/linkedin.rb +++ b/lib/omniauth/strategies/linkedin.rb @@ -36,7 +36,10 @@ class LinkedIn < OmniAuth::Strategies::OAuth2 end def callback_url - options.redirect_url ? options.redirect_url : full_host + script_name + callback_path + if options.redirect_url + return options.redirect_url + end + full_host + script_name + callback_path end alias :oauth2_access_token :access_token diff --git a/spec/omniauth/strategies/linkedin_spec.rb b/spec/omniauth/strategies/linkedin_spec.rb index 7a4e89b..99522bf 100755 --- a/spec/omniauth/strategies/linkedin_spec.rb +++ b/spec/omniauth/strategies/linkedin_spec.rb @@ -28,6 +28,15 @@ end end + describe '#custom redirect_url' do + let(:redirect_url) {'http://localhost:3001'} + + it 'custom redirect' do + expect(subject.callback_url).to eq('http://localhost:3001') + end + + end + describe '#uid' do before :each do allow(subject).to receive(:raw_info) { Hash['id' => 'uid'] }