Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

More intelligent password strength #172

Open
hughns opened this issue May 4, 2022 · 4 comments
Open

More intelligent password strength #172

hughns opened this issue May 4, 2022 · 4 comments
Assignees
Labels
A-Local-Password Related to the local password database T-Enhancement New feature of request Z-Product-Input Requires input from the product team

Comments

@hughns
Copy link
Member

hughns commented May 4, 2022

There is a basic password policy in place, which can set a minimum password length, require uppercase, lowercase and/or numeric symbols.

This is very basic and lacks direct feedback to the user.
We should instead use a real password strength estimation like zxcvbn and enforce it.
This would also need live feedback to the user whether their password is strong enough or not.

Open questions:

  • Is the "interactive feedback as you type" important? If so, this would need design input
  • Should this be only a suggestion or enforced? Should we have a default?
  • If the minimum strength is configurable, it would be of an opaque number: zxcvbn gives a score out of 4
  • Should we keep in parallel the current policy knobs?

Relevant design screens:

@sandhose
Copy link
Member

sandhose commented Jun 6, 2022

There is some password strength enforcement via the OPA policy + config (require uppercase/lowercase/number + min length), although we might be better off using something more intelligent like zxcvbn? This one would definitely require interactive feedback on the frontend, else you'd get cryptic error messages like "your password is not strong enough" without knowing exactly what "strong enough" means

@sandhose sandhose added T-Enhancement New feature of request A-Local-Password Related to the local password database labels Oct 11, 2023
@wrjlewis wrjlewis changed the title Enforcement of password strength More intelligent password strength Mar 22, 2024
@sandhose sandhose added the Z-Product-Input Requires input from the product team label May 7, 2024
@americanrefugee
Copy link

Here is the final component in Figma, and here is a reference in the designs.

@reivilibre
Copy link
Contributor

reivilibre commented Jul 16, 2024

After #2972, here's what will be left:

  • converting the other password screens to use the React frontend so they can give the client-side feedback
    • recovery
    • registration
  • factoring out the 'double new password with feedback' as a component?

@matrixbot
Copy link
Member

For your information, this issue has been copied over to the Element fork of matrix-authentication-service: element-hq/matrix-authentication-service#172

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Local-Password Related to the local password database T-Enhancement New feature of request Z-Product-Input Requires input from the product team
Projects
None yet
Development

No branches or pull requests

5 participants