Add GitLab host to 2FA QR and manual info
The two factor authentication account string only had the user's email address. This led to ambiguous entries in two factor code generating apps. This adds the GitLab host to the account string in the standard format (according to Google). No matter the code generator this change disambiguates the entry.
This commit is contained in:
parent
bdb5e67718
commit
55f224e4e7
3 changed files with 11 additions and 3 deletions
|
@ -22,6 +22,7 @@ class Profiles::TwoFactorAuthsController < Profiles::ApplicationController
|
|||
end
|
||||
|
||||
@qr_code = build_qr_code
|
||||
@account_string = account_string
|
||||
setup_u2f_registration
|
||||
end
|
||||
|
||||
|
@ -78,11 +79,14 @@ class Profiles::TwoFactorAuthsController < Profiles::ApplicationController
|
|||
private
|
||||
|
||||
def build_qr_code
|
||||
issuer = "#{issuer_host} | #{current_user.email}"
|
||||
uri = current_user.otp_provisioning_uri(current_user.email, issuer: issuer)
|
||||
uri = current_user.otp_provisioning_uri(account_string, issuer: issuer_host)
|
||||
RQRCode::render_qrcode(uri, :svg, level: :m, unit: 3)
|
||||
end
|
||||
|
||||
def account_string
|
||||
"#{issuer_host}:#{current_user.email}"
|
||||
end
|
||||
|
||||
def issuer_host
|
||||
Gitlab.config.gitlab.host
|
||||
end
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
To add the entry manually, provide the following details to the application on your phone.
|
||||
%p.prepend-top-0.append-bottom-0
|
||||
Account:
|
||||
= current_user.email
|
||||
= @account_string
|
||||
%p.prepend-top-0.append-bottom-0
|
||||
Key:
|
||||
= current_user.otp_secret.scan(/.{4}/).join(' ')
|
||||
|
|
4
changelogs/unreleased/add_info_to_qr.yml
Normal file
4
changelogs/unreleased/add_info_to_qr.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Add GitLab host to 2FA QR code and manual info
|
||||
merge_request: 6941
|
||||
author:
|
Loading…
Reference in a new issue