diff --git a/app/controllers/users/authorization_confirmation_controller.rb b/app/controllers/users/authorization_confirmation_controller.rb index 528a4ccab1a..32dbce58b26 100644 --- a/app/controllers/users/authorization_confirmation_controller.rb +++ b/app/controllers/users/authorization_confirmation_controller.rb @@ -11,6 +11,7 @@ class AuthorizationConfirmationController < ApplicationController def show analytics.track_event(Analytics::AUTHENTICATION_CONFIRMATION) @sp = ServiceProvider.find_by(issuer: sp_session[:issuer]) + @email = EmailContext.new(current_user).last_sign_in_email_address.email end def update diff --git a/app/views/users/authorization_confirmation/show.html.erb b/app/views/users/authorization_confirmation/show.html.erb index 9dcadbecdbe..7b4ff8385b2 100644 --- a/app/views/users/authorization_confirmation/show.html.erb +++ b/app/views/users/authorization_confirmation/show.html.erb @@ -24,7 +24,7 @@ <%= t("help_text.requested_attributes.email") %> - <%= current_user.email %> + <%= @email %> diff --git a/spec/features/openid_connect/authorization_confirmation_spec.rb b/spec/features/openid_connect/authorization_confirmation_spec.rb index 4be7a2ecb36..fa82a02e7fd 100644 --- a/spec/features/openid_connect/authorization_confirmation_spec.rb +++ b/spec/features/openid_connect/authorization_confirmation_spec.rb @@ -31,12 +31,14 @@ def create_user_and_remember_device user1 end - it 'it confirms the user wants to continue to the SP after signing in again' do - sign_in_user(user1) + it 'it confirms the user wants to continue to SP with signin email after signing in again' do + second_email = create(:email_address, user: user1) + sign_in_user(user1, second_email.email) visit_idp_from_ial1_oidc_sp expect(current_url).to match(user_authorization_confirmation_path) + expect(page).to have_content second_email.email - continue_as(user1.email) + continue_as(second_email.email) expect(current_url).to match('http://localhost:7654/auth/result') end diff --git a/spec/features/saml/authorization_confirmation_spec.rb b/spec/features/saml/authorization_confirmation_spec.rb index 9bb949dc5f4..3db31d0ca3b 100644 --- a/spec/features/saml/authorization_confirmation_spec.rb +++ b/spec/features/saml/authorization_confirmation_spec.rb @@ -32,14 +32,15 @@ def create_user_and_remember_device user1 end - it 'it confirms the user wants to continue to the SP after signing in again' do - sign_in_user(user1) + it 'it confirms the user wants to continue to SP with signin email after signing in again' do + second_email = create(:email_address, user: user1) + sign_in_user(user1, second_email.email) visit request_url - expect(current_url).to match(user_authorization_confirmation_path) - continue_as(user1.email) + expect(page).to have_content second_email.email + continue_as(second_email.email) expect(current_url).to eq(request_url) end diff --git a/spec/support/features/session_helper.rb b/spec/support/features/session_helper.rb index bcd481f0031..44bf5c3fa5f 100644 --- a/spec/support/features/session_helper.rb +++ b/spec/support/features/session_helper.rb @@ -171,8 +171,9 @@ def sign_up_with_backup_codes_and_set_password user end - def sign_in_user(user = create(:user)) - signin(user.email_addresses.first.email, user.password) + def sign_in_user(user = create(:user), email = nil) + email ||= user.email_addresses.first.email + signin(email, user.password) user end