Repository navigation
Require eeID authentication for pending delete and registrant change confirmations - #2978
Open
OlegPhenomenon wants to merge 5 commits into
Open
OlegPhenomenon wants to merge 5 commits into
OlegPhenomenon wants to merge 5 commits into
Conversation
…confirmations Confirmation endpoints require a registrant bearer token carrying the eeID authentication time once registrant_confirmation_eeid_required_from is reached (default 2027-01-18T00:00:00+02:00). Confirmation links are only actionable within the existing 48h window; queued decisions are revalidated against the current pending operation. Adds pending_operation_events audit trail: start, confirmation email sent with recipient, eeID authentication, and the final outcome with its actor. Refs #2975
Contributor
🚀 Deploy Complete!
(Environment ready for testing) |
2 similar comments
Contributor
🚀 Deploy Complete!
(Environment ready for testing) |
Contributor
🚀 Deploy Complete!
(Environment ready for testing) |
The ruby:3.0.3-slim base ships ca-certificates 20210119 without Sectigo Public Server Authentication Root E46, so TLS to Äriregister fails (certificate verify failed) and the registrant domain list returns 500.
Contributor
Author
Contributor
🚀 Deploy Complete!
(Environment ready for testing) |
1 similar comment
Contributor
🚀 Deploy Complete!
(Environment ready for testing) |
Contributor
🚀 Deploy Complete!
(Environment ready for testing) |
Contributor
🚀 Deploy Complete!
(Environment ready for testing) |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2975
Companion PR: internetee/registrant_center#189 (eeID login on the confirmation page). Both must be deployed together.
What changes
eeID requirement (time-gated)
Feature.registrant_confirmation_eeid_required?— active from ENVregistrant_confirmation_eeid_required_from; blank →2027-01-18T00:00:00+02:00, unparsable → active (fail closed).Api::V1::Registrant::ConfirmsController(GET/POST /api/v1/registrant/confirms/...): when active, requires a registrant bearer token issued after eeID login in registrant_center and carryingauthenticated_at. Checked before domain/token lookup; no side effects on failure (401 {"errors":[{"base":["Not authorized"]}]}).POST /api/v1/registrant/auth/eidaccepts optionalauthenticated_at(eeIDauth_time), stored in the bearer token.registrant_*_confirmable?), independent of the daily cron.Audit trail — new append-only table
pending_operation_events(per pending operation, linked bypending_operation_id= UUIDv5 of the verification token):started(registrar),email_sent(actual recipient, via mail observer),authenticated(eeID identity + auth time), terminalapproved/denied/cancelled/expiredwith actor (registrant identity / admin id / registrar id / system). One terminal event per operation enforced by a unique index.Docs:
doc/registrant-api/v1/confirms.md(incl. test scenarios for the .ee test environment), CHANGELOG.Deploy
registrant_confirmation_eeid_required_from: '2026-12-01T00:00:00+02:00'. Production: leave blank (default 18.01.2027) or set the exact time from the release plan.Identity matching (resolved)
No matching of the eeID identity against the registrant (the registrant may be an organisation and the approver its representative). Decided by the product owner: registry only has to record who exactly approved or denied; whether that person was authorised is between the approver and the registrant. The
authenticated,approvedanddeniedaudit events store the eeID identity (registrant_ident, name, registrant user id) and the eeID authentication time.Known limits
startedevent).