Add Identity Verification feature specs
What does this MR do and why?
This adds Arkose and Identity Verification specs for all user registration entry paths on SaaS:
- Standard flow (https://gitlab.com/users/sign_up)
- Invite flow (https://gitlab.com/-/invites/xxx?invite_type=initial_email)
- Trial flow (https://gitlab.com/-/trial_registrations/new)
- OmniAuth/SAML flow (https://gitlab.com/users/sign_up)
- Subscription flow (https://gitlab.com/-/subscriptions/new)
All flows, except the Invite flow, require Identity Verification when enabled. (Issue to enable Identity Verification for the Invite flow is here: https://gitlab.com/gitlab-org/modelops/anti-abuse/team-tasks/-/issues/127+)
The Trial flow currently only supports low risk verification (issue to implement Arkose for Trial registrations is here: https://gitlab.com/gitlab-org/modelops/anti-abuse/team-tasks/-/issues/230+)
These feature specs were made as realistically as possible, with as little stubbing as possible, but credit card verification for high risk signups was really hard to simulate as it depends on loading an external script, rendering external content in an iframe and several API calls to the subscriptions portal. That is why that step is simulated by manually creating a credit card validation and reloading the page.
Closes https://gitlab.com/gitlab-org/modelops/anti-abuse/team-tasks/-/issues/240+
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.