Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Verification API

26 sites Security covered
View on drupal.org

This module provides a system for verifying user actions, such as password resets or email changes, in decoupled Drupal environments. It allows for multiple verification methods to be used and supports verifying both user login and specific operations independently.

This drupal module provides the foundation to implement verification for various operations (e.g. reset password, change email or passwordless logins) that a drupal user can do. That is done by having multiple VerificationProvider services verifying a request.

Motivation

In decoupled scenarious, some operations like updating a user email, resetting the password or cancelling a user account need additional verification as an additional security measure.

Additionally some operations must also be preceeded by a login, because the user might not be able to login (e.g. when performing a password reset). The verification must then be able to verify the login AND the operation (e.g. the password reset).

This module tries to solve this problem by providing the foundation for a sophisticated verification system.

Functionality

The Verification API revolves around having Tagged Services that implement the VerificationProviderInterface interface. The providers job is to verify a given request and return a VerificationResult.

Given that a login may preceed the actual operation, the verification is split into two parts:

  1. (optional) Verify if the verification method is eligible for a login
  2. Verify if the verification method is eligible for the operation

The verification method MUST be independendtly invalidated for login and the operation!

Therefore each provider must implement the verifyLogin and verifyOperation methods.

Note Each provider is responsible to invalidate the verification method once it has been used, and to implement appropriate security measures, like prohibiting brute force attacks!

The verification is strictly tied to the following aspects:

  • Operation - A string describing what operation should be made
  • User - The drupal user that the operation is performed on
  • Email - If a different email address then the user's should be used

If these change between verification start and finish, the verification MUST fail.

Verification Providers

Here is a curated list of verification providers that utilize the Verification API:

If you want your verification provider listed, feel free to open an issue.

More information about the module can be found in the project readme:
> View Readme <

Activity

Total releases
4
First release
Dec 2024
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 4
Maintenance
Dormant

Release Timeline

Releases

Version Type Release date
2.0.0-rc5 Pre-release Jan 17, 2025
2.0.0-rc3 Pre-release Dec 11, 2024
2.0.0-rc2 Pre-release Dec 11, 2024
2.0.0-rc1 Pre-release Dec 11, 2024