ChainedPassword service

Created on 17 January 2023, almost 2 years ago
Updated 18 January 2023, almost 2 years ago

Problem/Motivation

This is a bit of an exercise in "can this be done?", more than an important change, but I think it is useful.

  • Replace Drupal8Password, which expects to be provided with specific service instances, with a ChainedPassword that accepts an arbitrary number of PasswordInterface instances.
    The first service is the one that will be used for hashing/rehashing passwords, and any additional services will only be used for checking against legacy hashes.
  • Explicitly use the service decoration pattern instead of replacing the core service, which is less likely to conflict with any other services that would want to alter the core service. This also allows removing password.drupal7, which was necessary to replace the original core service.
  • Remove the lazy service loading, because the PasswordInterface objects don't look like they would have a significant initialization cost.

Remaining tasks

User interface changes

API changes

The password.drupal7 service is removed.

Data model changes

📌 Task
Status

Needs review

Version

2.0

Component

Code

Created by

🇨🇦Canada gapple

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

No activities found.

Production build 0.71.5 2024