From 757ae49a62c99ccaf3e8cb180f8311f02dcbb323 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 28 Jun 2023 17:40:03 -0400 Subject: [PATCH 1/5] update copy for personal key acknowledgement partial --- app/services/marketing_site.rb | 1 + app/views/shared/_personal_key.html.erb | 23 ++++++++++------------- config/locales/forms/en.yml | 16 +++------------- config/locales/forms/es.yml | 17 +++-------------- config/locales/forms/fr.yml | 17 +++-------------- 5 files changed, 20 insertions(+), 54 deletions(-) diff --git a/app/services/marketing_site.rb b/app/services/marketing_site.rb index 5d3874869bf..cfa6796b9ce 100644 --- a/app/services/marketing_site.rb +++ b/app/services/marketing_site.rb @@ -6,6 +6,7 @@ class MarketingSite HELP_CENTER_ARTICLES = %w[ authentication-methods/which-authentication-method-should-i-use creating-an-account/authentication-application + manage-your-account/personal-key signing-in/what-is-a-hardware-security-key verify-your-identity/accepted-state-issued-identification verify-your-identity/how-to-add-images-of-your-state-issued-id diff --git a/app/views/shared/_personal_key.html.erb b/app/views/shared/_personal_key.html.erb index a78a49432ca..ef347ccab5d 100644 --- a/app/views/shared/_personal_key.html.erb +++ b/app/views/shared/_personal_key.html.erb @@ -7,13 +7,6 @@ %> -<%= render AccordionComponent.new do |c| %> - <% c.with_header { t('forms.personal_key_partial.explanation.header') } %> - <% t('forms.personal_key_partial.explanation.text').each do |paragraph| %> -

<%= paragraph %>

- <% end %> -<% end %> - <%= simple_form_for('', url: update_path) do |f| %>

@@ -21,15 +14,19 @@

-

+

<%= t('forms.personal_key_partial.acknowledgement.text') %>

- +

+ <%= new_tab_link_to( + t('forms.personal_key_partial.acknowledgement.help_link_text'), + MarketingSite.help_center_article_url( + category: 'manage-your-account', + article: 'personal-key', + ), + ) %> +

<%= render ClickObserverComponent.new(event_name: 'IdV: personal key acknowledgment toggled') do %> <%= render ValidatedFieldComponent.new( diff --git a/config/locales/forms/en.yml b/config/locales/forms/en.yml index 7f2a33b8a20..4a8989d9be2 100644 --- a/config/locales/forms/en.yml +++ b/config/locales/forms/en.yml @@ -70,24 +70,14 @@ en: confirmation_label: Personal key download: Download (text file) instructions: Please confirm you have a copy of your personal key by entering it below. - required_checkbox: Please check this box to continue. + required_checkbox: I saved my personal key in a safe place. title: Enter your personal key personal_key_partial: acknowledgement: - bullets: - - You’ll lose access to your account - - You’ll need to verify your identity again header: You need your personal key if you forget your password. Keep it safe and don’t share it with anyone. - text: 'If you reset your password without your personal key:' - explanation: - header: What is a personal key? - text: - - A personal key “locks” your personal information with your account. - It’s the only way to unlock your information if you lose or forget - your password. - - When you reset your password, Login.gov will ask for your personal - key to make sure you are you - not someone pretending to be you. + help_link_text: Learn more about the personal key + text: If you reset your password without your personal key, you’ll need to verify your identity again. header: Save your personal key phone: buttons: diff --git a/config/locales/forms/es.yml b/config/locales/forms/es.yml index 81ddbb2d8ee..d30433fca19 100644 --- a/config/locales/forms/es.yml +++ b/config/locales/forms/es.yml @@ -75,25 +75,14 @@ es: download: Descargar (archivo de texto) instructions: Confirme que tiene una copia de su clave personal ingresándola a continuación. - required_checkbox: Marque esta casilla para continuar. + required_checkbox: He guardado mi clave personal en un lugar seguro. title: Ingrese su clave personal personal_key_partial: acknowledgement: - bullets: - - Perderás el acceso a tu cuenta - - Tendrás que verificar tu identidad nuevamente header: Necesitarás tu clave personal si olvidas tu contraseña. Mantenla en un lugar seguro y no la compartas con nadie. - text: 'Si restableces tu contraseña sin tu clave personal:' - explanation: - header: '¿Qué es una clave personal?' - text: - - Una clave personal “bloquea” la información personal de tu cuenta. - Es la única manera de desbloquear tu información si pierdes u - olvidas tu contraseña. - - Si restableces tu contraseña, Login.gov te pedirá tu clave personal - para asegurarse de que se trata de ti, y no de alguien que quiere - hacerse pasar por ti. + help_link_text: Más información sobre la clave personal + text: 'Si restableces tu contraseña sin tu clave personal, tendrás que volver a verificar tu identidad.' header: Guarda tu clave personal phone: buttons: diff --git a/config/locales/forms/fr.yml b/config/locales/forms/fr.yml index 7d970224aae..436869c4018 100644 --- a/config/locales/forms/fr.yml +++ b/config/locales/forms/fr.yml @@ -77,25 +77,14 @@ fr: download: Télécharger (fichier texte) instructions: Veuillez confirmer que vous avez une copie de votre clé personnelle en l’entrant ci-dessous. - required_checkbox: Veuillez cocher cette case pour continuer. + required_checkbox: J'ai conservé ma clé personnelle en lieu sûr. title: Entrez votre clé personnelle personal_key_partial: acknowledgement: - bullets: - - Vous perdrez l’accès à votre compte - - Vous allez devoir vérifier à nouveau votre identité header: En cas d’oubli de votre mot de passe, vous aurez besoin de votre clé personnelle. Gardez-la en sécurité et ne la partagez avec personne. - text: 'Si vous réinitialisez votre mot de passe sans votre clé personnelle:' - explanation: - header: Qu’est-ce qu’une clé personnelle? - text: - - Une clé personnelle « verrouille » vos informations personnelles - avec votre compte. C’est le seul moyen de déverrouiller vos - informations si vous perdez ou oubliez votre mot de passe. - - Lors de la réinitialisation de votre mot de passe, Login.gov vous - demandera votre clé personnelle pour s’assurer que vous êtes bien - vous, et non quelqu’un qui se fait passer pour vous. + help_link_text: En savoir plus sur la clé personnelle + text: Si vous réinitialisez votre mot de passe sans votre clé personnelle, vous devrez à nouveau vérifier votre identité. header: Sauvegardez votre clé personnelle phone: buttons: From d8d8bad3ea9cd41db9873cb0ca143de132161f14 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 28 Jun 2023 17:43:03 -0400 Subject: [PATCH 2/5] happy linting --- config/locales/forms/en.yml | 3 ++- config/locales/forms/es.yml | 3 ++- config/locales/forms/fr.yml | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/config/locales/forms/en.yml b/config/locales/forms/en.yml index 4a8989d9be2..003bc399741 100644 --- a/config/locales/forms/en.yml +++ b/config/locales/forms/en.yml @@ -77,7 +77,8 @@ en: header: You need your personal key if you forget your password. Keep it safe and don’t share it with anyone. help_link_text: Learn more about the personal key - text: If you reset your password without your personal key, you’ll need to verify your identity again. + text: If you reset your password without your personal key, you’ll need to + verify your identity again. header: Save your personal key phone: buttons: diff --git a/config/locales/forms/es.yml b/config/locales/forms/es.yml index d30433fca19..5b1bfd4b9c2 100644 --- a/config/locales/forms/es.yml +++ b/config/locales/forms/es.yml @@ -82,7 +82,8 @@ es: header: Necesitarás tu clave personal si olvidas tu contraseña. Mantenla en un lugar seguro y no la compartas con nadie. help_link_text: Más información sobre la clave personal - text: 'Si restableces tu contraseña sin tu clave personal, tendrás que volver a verificar tu identidad.' + text: 'Si restableces tu contraseña sin tu clave personal, tendrás que volver a + verificar tu identidad.' header: Guarda tu clave personal phone: buttons: diff --git a/config/locales/forms/fr.yml b/config/locales/forms/fr.yml index 436869c4018..32c9c2aa17a 100644 --- a/config/locales/forms/fr.yml +++ b/config/locales/forms/fr.yml @@ -77,14 +77,15 @@ fr: download: Télécharger (fichier texte) instructions: Veuillez confirmer que vous avez une copie de votre clé personnelle en l’entrant ci-dessous. - required_checkbox: J'ai conservé ma clé personnelle en lieu sûr. + required_checkbox: J’ai conservé ma clé personnelle en lieu sûr. title: Entrez votre clé personnelle personal_key_partial: acknowledgement: header: En cas d’oubli de votre mot de passe, vous aurez besoin de votre clé personnelle. Gardez-la en sécurité et ne la partagez avec personne. help_link_text: En savoir plus sur la clé personnelle - text: Si vous réinitialisez votre mot de passe sans votre clé personnelle, vous devrez à nouveau vérifier votre identité. + text: Si vous réinitialisez votre mot de passe sans votre clé personnelle, vous + devrez à nouveau vérifier votre identité. header: Sauvegardez votre clé personnelle phone: buttons: From 9ff2fda457b14ab8c6dddf70d94d7a4995908cf3 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 28 Jun 2023 17:44:35 -0400 Subject: [PATCH 3/5] changelog: User-Facing Improvements, Identity Verification, Update copy for personal key acknowledgement From d14bd7aaae36cc66fee86be93f58e2f5990634ae Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Thu, 29 Jun 2023 14:40:30 -0400 Subject: [PATCH 4/5] update helper to to look for button text for personal key acknowledgement --- spec/support/features/session_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/support/features/session_helper.rb b/spec/support/features/session_helper.rb index ec00dbfeaaa..5f679a3f5e3 100644 --- a/spec/support/features/session_helper.rb +++ b/spec/support/features/session_helper.rb @@ -336,7 +336,7 @@ def acknowledge_and_confirm_personal_key end def click_acknowledge_personal_key - checkbox_header = t('forms.validation.required_checkbox') + checkbox_header = t('forms.personal_key.required_checkbox') find('label', text: /#{checkbox_header}/).click click_continue end From 660b2f81c4d6e6ccddd0ef5fa93a516b029f30e8 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Thu, 29 Jun 2023 15:20:17 -0400 Subject: [PATCH 5/5] add testing to verify helpful information is displayed explaining personal keys --- spec/features/idv/steps/confirmation_step_spec.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spec/features/idv/steps/confirmation_step_spec.rb b/spec/features/idv/steps/confirmation_step_spec.rb index db9f6c44ea4..e3e4571d74d 100644 --- a/spec/features/idv/steps/confirmation_step_spec.rb +++ b/spec/features/idv/steps/confirmation_step_spec.rb @@ -23,10 +23,18 @@ it 'allows the user to refresh and still displays the personal key' do # Visit the current path is the same as refreshing + expect(page).to have_content(t('idv.messages.confirm')) + expect(page).to have_content(t('forms.personal_key_partial.acknowledgement.header')) visit current_path + expect(page).not_to have_content(t('idv.messages.confirm')) expect(page).to have_content(t('forms.personal_key_partial.acknowledgement.header')) end + it 'displays information providing details about personal key' do + expect(page).to have_content(t('forms.personal_key_partial.acknowledgement.text')) + expect(page).to have_content(t('forms.personal_key_partial.acknowledgement.help_link_text')) + end + context 'verifying by gpo' do let(:address_verification_mechanism) { :gpo }