Jump to content
netcarver

NiftyPasswordsPlus Extensions for ProcessForgotPassword

Recommended Posts

Announcing the availability of the not-quite-so-discounted batch of NiftyPasswordsPlus licenses.
Once this batch is gone, pricing reverts to normal.

2nd Batch of Discounted Licenses on Gumroad.

>>> Please include your forum username when purchasing. <<<

 

This is a module pack by Nifty Solutions for Processwire CMF/CMS (running on PHP 7.2+) that extends the core features for password recovery making them more flexible and easy to use.

Features

  • Can send just the verification code in emails (removing the clickable link), and immediately show the reset verification page. This forces the reset to be completed in the same session it was started from.
  • Allow the password reset to be initiated in one session and completed in another. You no longer have to complete the reset from the same browser and tab. There are options to allow you to still require reset completion from the same IP address.
  • Prevention of incorrect data entry in the reset initiation step, users are warned if they enter an email in a username field.
  • Optional auto-completion of the verification code field in the password reset step. This makes things easier for users as they don't have to copy-and-paste from their email client. Be warned, however, that this can facilitate automated reset attempts.
  • Control how long reset links are valid for (sometimes an hour is much too long) and update the text of outgoing emails and reset screens to report the new value.
  • Optionally allowing automatic user login following a successful password reset. This is not recommended but is supported. This option is never available to Superusers or users with 2-factor authentication requirements on their accounts. You can additionally limit this to users with specific roles.
  • Allows the reset process to require input of the user's Time-based one-time (TOTP) value - if they have TOTP setup on their account. You can also mandate the entry of a valid TOTP in order to complete a password reset. The TOTP field extends ProcessForgotPassword and operates with or without NiftyPasswordsPlus.
  • Works by extending the core ProcessForgotPassword module so it works on the Admin login page and your custom LoginRegisterPro pages.

You'll also get access to NiftyHashedTokens in your template and module files - a HMAC-Hashed key-to-value store, providing tamper-detection of the key and controlling how many times it may be accessed in a given period along with IP address checking.

Pre-Requisites

This requires PHP7.2 or better and a recent copy of Processwire with the ProcessForgotPassword and InputfieldSelect modules installed.

Installation

After purchase you will have access to the latest version of the pack as a single zip file.
If this is your first Nifty installation: simply unzip the file in a temporary location and transfer the resulting Nifty folder into the site/modules directory of your site. Then refresh the modules in Processwire and install the NiftyPasswordsPlus module.
If you already have other Nifty products installed: unzip the file in a temporary location and look in the Nifty folder you unpacked. Copy any new subdirectories from there into your existing site/modules/Nifty directory. Log in to Processwire, refresh your modules and install NiftyPasswordsPlus.

You will need to acknowledge the disclaimer, enabling the module in order to proceed.

Refunds

We offer a no-questions-asked refund policy in the first 14 days from the date and time of your purchase.

Settings

steps1-4.thumb.png.11aaf7cb1917ea41f0167f9323c3f43f.png

Step 1:

step1.thumb.png.e6a289a2f6f8027b4d907da7d675fac5.png

 

Step 2: Gives options changing how the reset link works.

step2a.thumb.png.dcdcc8db75200f7088c866f517fef5ba.png

 

Step 3:

step3.thumb.png.286a3c6e50dc09fd6db5f840fd9f7a58.png

If you install FieldtypeUserTOTPValue as well, you also have additional options to require TOTP 2FA for reset.

screenshot-admin.local-2020_11.20-02_04_01.thumb.png.6f91587fb656a96baf7bf16702e22478.png

Step 4:

step4.thumb.png.30d0aefb76fd89af64814b4db8268a4c.png

 

Additional settings:

step-general-and-tokens.thumb.png.76cd3b5563cc938b7db24ca8fa08ab7e.png

 

FieldtypeUserTOTPValue allows you to add TOTP as a confirm field in ProcessForgotPassword:

step7.png.79d574ddad158a68966f032627ed5b21.png

Which then requires the user doing the reset to enter their TOTP 2FA code (if set on their account) in order to reset their password:

step8.png.3762910c91678b257b81cfd270b3d72f.png

If the user does not have TOTP set up on their account, they just leave this blank. If they do have TOTP set up, they need to enter the current value.  If you are using this along with NiftyPasswordsPlus, then you can additionally enforce role-based requirements for entry of a correct TOTP value in order for password reset to work.

It does this by hooking FieldtypeUserTOTPValue's RequireTfa() method. You can do the same from your site/ready.php file to add any additional checks you'd like for your particular site.

We currently only support TOTP 2FA as it is simple, avoids sending another email (in case email is compromised) and the bar to user adoption is quite low.

 

Finally, we have NiftyHashedTokens:

nifty-hashed-tokens-teaser.thumb.png.c6952bddc791d291d9c54280ebd37f89.png

 

 

Announcing the availability of the not-quite-so-discounted batch of NiftyPasswordsPlus licenses.
Once this batch is gone, pricing reverts to normal.

2nd Batch of Discounted Licenses on Gumroad.

>>> Please include your forum username when purchasing. <<<

  • Like 16

Share this post


Link to post
Share on other sites

Just to update everyone: in case you missed it, we intend to release this as a commercial module sometime this coming week, testing feedback permitting.

  • Like 1

Share this post


Link to post
Share on other sites

Pete and I can finally announce the availability of a discounted "Early-Bird" batch of NiftyPasswordsPlus. Once this batch is gone, we will be offering one further discounted batch before the pricing reverts to normal. Details in the opening post above this.

Please feel free to ask any questions you may have about the module here.

  • Like 1

Share this post


Link to post
Share on other sites

Hi, does this support the front-end password reset option in LoginRegisterPro?
I need to support the option to complete the reset on a different device for one site.

  • Like 1

Share this post


Link to post
Share on other sites

@Jozsef Yes, this works by extending ProcessForgotPassword which is used by LoginRegisterPro to handle password resets.

  • Like 1

Share this post


Link to post
Share on other sites

I take it that everything is working for you as needed, @Jozsef?  Please let me know if there is anything wrong or needing correction.

Share this post


Link to post
Share on other sites

Thank you to everyone who purchased at the Early-Bird rate, all those licenses are now sold-out.

Announcing the availability of the not-quite-so-discounted batch of NiftyPasswordsPlus licenses.
Once this batch is gone, pricing reverts to normal.

2nd Batch of Discounted Licenses on Gumroad.

>>> Please include your forum username when purchasing. <<<

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...