Commit d24e68a66ac59f69ac2493006c9be77762d58cf4
1 parent
f9e8687d
Exists in
master
and in
2 other branches
Fixed test bugs and add new headers
Showing
2 changed files
with
5 additions
and
9 deletions
Show diff stats
lib/omniauth/strategies/remote_user.rb
| @@ -8,15 +8,11 @@ module OmniAuth | @@ -8,15 +8,11 @@ module OmniAuth | ||
| 8 | 8 | ||
| 9 | def call(env) | 9 | def call(env) |
| 10 | request = Rack::Request.new env | 10 | request = Rack::Request.new env |
| 11 | - cookies = request.cookies | ||
| 12 | - response = Rack::Response.new | ||
| 13 | - | ||
| 14 | - if cookies['gitlab_session'] != nil and !env['HTTP_REMOTE_USER'].blank? | ||
| 15 | - response.redirect "#{OmniAuth.config.path_prefix}/users/auth/env/" | ||
| 16 | - else | 11 | + cookies = request.cookies["_gitlab_session"] |
| 12 | + remote_user = env["HTTP_REMOTE_USER"] | ||
| 13 | + unless remote_user.empty? && cookies.empty? | ||
| 17 | super(env) | 14 | super(env) |
| 18 | end | 15 | end |
| 19 | - | ||
| 20 | end | 16 | end |
| 21 | 17 | ||
| 22 | def request_phase | 18 | def request_phase |
spec/omniauth/strategies/remote_user_spec.rb
| @@ -5,12 +5,12 @@ describe 'Test Strategy Remote_User' do | @@ -5,12 +5,12 @@ describe 'Test Strategy Remote_User' do | ||
| 5 | Rack::Builder.new do |b| | 5 | Rack::Builder.new do |b| |
| 6 | b.use Rack::Session::Cookie, :secret => 'abc123' | 6 | b.use Rack::Session::Cookie, :secret => 'abc123' |
| 7 | b.use OmniAuth::Strategies::RemoteUser, :fields => [:name, :email], :uid_field => :name | 7 | b.use OmniAuth::Strategies::RemoteUser, :fields => [:name, :email], :uid_field => :name |
| 8 | - b.run lambda { |_env| [200, {}, ['Not Found']] } | 8 | + b.run lambda { |_env| [200, {}, ['Not Found']] } |
| 9 | end.to_app | 9 | end.to_app |
| 10 | end | 10 | end |
| 11 | 11 | ||
| 12 | context 'request phase' do | 12 | context 'request phase' do |
| 13 | - before(:each) { get '/user/auth/env' } | 13 | + before(:each) { get '/user/auth/env',{},{'HTTP_COOKIE' => '_gitlab_session=user@myuser','HTTP_REMOTE_USER' => "user@myuser" }} |
| 14 | it 'displays a form' do | 14 | it 'displays a form' do |
| 15 | expect(last_response.status).to eq(200) | 15 | expect(last_response.status).to eq(200) |
| 16 | end | 16 | end |