Skip to content

Verification feature for api users#2929

Open
maricavor wants to merge 6 commits into
masterfrom
api-user-verify
Open

Verification feature for api users#2929
maricavor wants to merge 6 commits into
masterfrom
api-user-verify

Conversation

@maricavor

@maricavor maricavor commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Close internetee/registrar_center2#218

In a Nutshell

This PR implements API user identity verification using eeID (Estonian digital identity service). It adds verification workflows for API users with automatic or manual approval paths, introduces new API endpoints for verification management, and migrates from identity_code to subject as the primary identity identifier while adding comprehensive i18n support throughout the codebase.

Key Changes

New Features:

  • API User Verification Endpoints (4 new actions):

    • POST /repp/v1/api_users/verify/:id - Initiate identity verification
    • GET /repp/v1/api_users/download_poi/:id - Download proof of identity PDF
    • POST /repp/v1/api_users/approve_verification/:id - Manual approval with subject override
    • POST /repp/v1/api_users/reject_verification/:id - Reject pending verification
  • Webhook Processing - eID webhook handler now supports both Contacts and API users with auto-verification and manual review states

  • Email Notifications - New mailer for verification requests and results

Refactoring:

  • Replaced identity_code with subject as primary identity field (with backward compatibility via SubjectBackfill utility)
  • Enhanced authentication to use eligible_for_sign_in? (requires both active status + verified identity)
  • i18n: Externalized ~20+ hardcoded error messages to locale files
  • Improved authorization checks and validation logic

@maricavor maricavor requested a review from OlegPhenomenon June 3, 2026 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable eeID-based user verification on user creation/editing

2 participants