Commit graph

54 commits

Author SHA1 Message Date
Martin
fdf0f18fda fix(i18n): wrap text under i18n.t
i18n(france_connect/*): replace wording with i18n

fix(lint): i18n key issue

secu(views/france_connect/particulier/merge.html.haml): sanitize france_connect_email just in case

fix(brakeman): sanitize FCI.email_france_connect when used with html_safe via an I18n.t, also add exception to brakeman
2021-11-25 17:34:37 +01:00
Martin
21894d0a0a feat(france_connect/particulier#callback): in case the FC email exists as an DC account which is an instructor or and administrator, returns early to new_session_path so he can connect with this existing account 2021-11-25 17:34:36 +01:00
Martin
ff073f8884 Add confirmation by email when merging DC/FC accounts
feat(fci.confirmation_code): add confirmation code to france_connect_informations

feat(user_mailer.france_connect_confirmation_code): add confirmation by email mail method/preview/spec, pointing to merge_mail_with_existing_account (reuse existing method)

feat(mail_merge): mail merge

feat(merge.cannot_use_france_connect): same behaviour as callback

clean(fci.confirmation_code): use same token for mail validation as merge

feat(resend_france_connect/particulier/merge_confirmation): resend email with link. also enhance some trads, cleanup halfy finished refacto

clean(tech): finalize story by plugging merge_with_new_account to email validation

fix(deadspec): was removed

fix(spec): broken after last refactoring

lint(rubocop): space before parenthesis

lint(haml-lint): yoohoooo space before =

fix(lint): scss now :D

Update app/assets/stylesheets/buttons.scss

cleanup

feat(france_connect): re-add confirm by email, with an option for confirmation by email instead of only confirmation by email

fixup! Add confirmation by email when merging DC/FC accounts

fix(lint): haml_spec failure
2021-11-25 17:34:34 +01:00
simon lehericey
f54dfe6ead Do not raise error if user is nil
I do not get when it happens
2021-10-19 11:21:24 +02:00
simon lehericey
bb83fd2f18 To make an old test work, no idea 2021-10-14 14:47:50 +02:00
simon lehericey
933d7b8c8d merge with another preexisting account 2021-10-14 14:47:50 +02:00
simon lehericey
ce40e1127d merge with another new account 2021-10-14 14:47:50 +02:00
simon lehericey
19f81b594b merge with an existing account by using the password 2021-10-14 14:47:50 +02:00
simon lehericey
218e4633a9 securely retrieve fci 2021-10-14 14:47:50 +02:00
simon lehericey
f7299da1e7 launch merge process if an unlinked DS account with the same email exists 2021-10-14 14:47:50 +02:00
simon lehericey
f6879eba60 associate_user take a target email 2021-10-14 14:47:50 +02:00
simon lehericey
6826bf03b0 Sign in with a user linked by france connect sub (openid)
instead of looking linked user by email because :

- follows FC recommendation to fetch ds account by openid
- the email is not a valid key as many user can share the same FCI email.

The following scenario is now working

A user A (email: 1@mail.com) uses FC to connect to DS
=> It is connected as 1@mail.com

Another user B (email: generic@mail.com) uses FC to connect
=> It is connected as generic@mail.com

The first user A change its FC email to generic@mail.com and connect to DS
=> It is still connected as 1@mail.com
2021-10-14 14:47:50 +02:00
simon lehericey
06dee2e023 refactor controller to avoid return 2021-10-14 14:47:50 +02:00
simon lehericey
5aaf46258a remove obsolete devise scope 2021-10-14 14:47:50 +02:00
Christophe Robillard
a288a13805 disable france connect authentication for admin and instructeurs 2021-02-10 18:13:47 +01:00
Fabrice Gangler
1a43f888fb Feat: allow to disable France-Connect
Refs: #5440
2020-09-01 15:51:10 +02:00
simon lehericey
3fde2a6f70 Rename gestionnaire in code to instructeur 2019-08-12 13:47:01 +02:00
Pierre de La Morinerie
06afc3890f france_connect: raise an error if some validation error occurs
If a validation error occurs in `find_or_create`, an object without `id`
will be returned–and the code will crash soon after.

Ensure that we crash immediately, so that we can report the root cause
(the validation error) instead of a seemingly-unrelated crash later.
2019-07-09 15:50:28 +02:00
Pierre de La Morinerie
6b27ac8514 france_connect: make existing user lookup case-insensitive
Fix #4053
2019-07-09 15:50:28 +02:00
Pierre de La Morinerie
f5f7dfba40 france_connect: fix for params entirely missing from the callback
Fix a Sentry exception encountered in production.
2019-05-13 15:45:12 +02:00
simon lehericey
13ffa61435 DateTime.now => Time.zone.now 2018-10-26 10:10:20 +00:00
gregoirenovel
d9d4f6fe20 Enable Style/SymbolProc 2018-10-03 12:15:48 +02:00
gregoirenovel
b994fa4206 Do one thing per line 2018-10-01 16:15:46 +02:00
gregoirenovel
16a719922b Use enum to the fullest with User.loged_in_with_france_connects 2018-08-29 17:31:08 +02:00
simon lehericey
5bd589344e Devise: confirm user email 2018-05-23 15:55:52 +02:00
Frederic Merizen
2fa88a432b Add missing brackets around parameters in method definitions 2018-03-20 17:54:51 +01:00
Simon Lehericey
1b91641f9a FC ParticulierController: remove exotic route 2018-01-17 16:37:26 +01:00
Simon Lehericey
d70b6f4af0 FC ParticulierController: cleaner update attribute 2018-01-17 16:37:26 +01:00
simon lehericey
4f86b6305b FC ParticulierControllerSpec: callback handle empty string 2018-01-17 16:37:26 +01:00
simon lehericey
02dd1e209c FC ParticulierController: implement auto reconciliation based on user email 2018-01-17 16:37:26 +01:00
simon lehericey
ecfb0f4ec2 FC ParticulierController: move defense logic to before_action 2018-01-17 16:37:26 +01:00
Simon Lehericey
4afc41bca2 FC ParticulierController: inline fci.user 2018-01-17 16:37:26 +01:00
simon lehericey
d348e5fde0 FC ParticulierController: smaller variable 2018-01-17 16:37:26 +01:00
simon lehericey
c6c4dd7c7e FC ParticulierController: use find or tap 2018-01-17 16:37:26 +01:00
simon lehericey
7cbd6ed067 FC ParticulierController: create is private
yep, I know this is strange
2018-01-17 16:37:26 +01:00
simon lehericey
d086b82d44 FC ParticulierController: remove one return 2018-01-15 17:14:12 +01:00
simon lehericey
34bd3a11e9 FC ParticulierController: remove superfluous if 2018-01-15 17:14:12 +01:00
simon lehericey
02395e732c FC service: return domain info 2018-01-15 17:14:12 +01:00
simon lehericey
7024e14d1c FC information: remove funny find_by 2018-01-15 17:14:12 +01:00
simon lehericey
e68fc0811f FC ParticulierController: callback syntax cleaning 2018-01-15 17:14:12 +01:00
simon lehericey
9dc242d907 FC Particulier Controller: simplier login 2018-01-15 17:14:12 +01:00
simon lehericey
fc4ce4460c FC Particulier Controller: do not parse an URI into URI 2018-01-15 17:14:12 +01:00
gregoirenovel
7c34807f46 Don’t use unless 2018-01-12 11:32:43 +01:00
gregoirenovel
d54fe12a9c Remove inconsistent and useless blank lines in controllers 2017-05-30 15:54:49 +02:00
gregoirenovel
d5e7bbd80d Files should end with a new line 2017-04-04 16:59:38 +02:00
Xavier J
da3ef13522 Fix tests spec/controllers/france_connect/*.rb 2016-11-15 04:42:32 +01:00
Xavier J
8812ba2507 Fix brakeman information 2016-03-24 17:49:44 +01:00
Xavier J
c461d58297 sign_out all devise account when user initialize a FranceConnect connection 2016-01-26 16:48:33 +01:00
Xavier J
4d812220fd - Add FranceConnectInformation table to make safe FranceConnect pivot identity.
- Adapt source code with the new table
2016-01-21 17:06:09 +01:00
Xavier J
a738128f4a Suppression de FCEntreprise 2016-01-19 17:40:45 +01:00