open-formulieren / open-forms

Smart and dynamic forms
https://open-forms.readthedocs.io
Other
36 stars 26 forks source link

Co-signing does not work with a DigiD Gateway (e.g. OIDC) or DigiD SSO #1530

Closed SilviaAmAm closed 1 year ago

SilviaAmAm commented 2 years ago

Product versie / Product version

1.1

Omschrijf het probleem / Describe the bug

When using OpenID Connect, clicking on the co-sign option redirects directly to the form and doesnt give the chance to sign in as someone else with DigiD.

Proposed solution

Update: Den Haag agrees with the Open Forms flow and abandons their own mixed flow. With this, the BSN check is also removed and can later be added.

Use out-of-band email, form code. This solves co-signing when DigiD SSO or DigiD via a gateway is used. Note that the email that is sent never contains a link, but contains instructions to find a fixed "co-sign form" where the co-sign user can fill in their code.

Untitled (3)

Latest sequence diagram

Original sequence diagram link to refine further

Tasks

More specific tasks

Form builder:

Backend:

Frontend:

More things that came to mind:

Clean up:

See additional comment: https://github.com/open-formulieren/open-forms/issues/1530#issuecomment-1586858384

sergei-maertens commented 2 years ago

We've seen other situations where a gateway is used for DigiD authentication and the same problem applies.

joeribekker commented 2 years ago

Discussed with The Hague, to refactor cosigning to be done out of bound via email. The form submission will be on hold, until cosigning is complete. The user can still submit it but the co signer has 7 days to co-sign and only then will the process continue in the background.

There is 1 major downside to this: It contradicts the principle to not send links in emails. We are looking into this because it is the user that triggers this mail, and not the organisation... Feels a bit like a password reset email.

joeribekker commented 2 years ago

More thoughts: we could also mail a code, that people can fill in some dedicated open forms page to get the cosigning process, without sending a link

joeribekker commented 2 years ago

Updated the ticket with a sequence diagram that respects the no-link policy and solves the SSO/Gateway issue.

SilviaAmAm commented 1 year ago

Todo:

Form builder:

Backend:

Frontend:

Clean up:

SilviaAmAm commented 1 year ago

Still to do: