Merge branch 'sh-fix-otp-backup-cherry-pick' into 'master'

Merge branch 'sh-fix-otp-backup-invalidation-10-5' into 'master'

See merge request gitlab/gitlabhq!2349
This commit is contained in:
James Lopez 2018-03-07 14:52:29 +00:00
commit 2fcf779cff
3 changed files with 18 additions and 0 deletions

View file

@ -56,6 +56,7 @@ module AuthenticatesWithTwoFactor
session.delete(:otp_user_id)
remember_me(user) if user_params[:remember_me] == '1'
user.save!
sign_in(user)
else
user.increment_failed_attempts!

View file

@ -0,0 +1,5 @@
---
title: Ensure that OTP backup codes are always invalidated
merge_request:
author:
type: security

View file

@ -145,6 +145,18 @@ feature 'Login' do
expect { enter_code(codes.sample) }
.to change { user.reload.otp_backup_codes.size }.by(-1)
end
it 'invalidates backup codes twice in a row' do
random_code = codes.delete(codes.sample)
expect { enter_code(random_code) }
.to change { user.reload.otp_backup_codes.size }.by(-1)
gitlab_sign_out
gitlab_sign_in(user)
expect { enter_code(codes.sample) }
.to change { user.reload.otp_backup_codes.size }.by(-1)
end
end
context 'with invalid code' do