Opened 4 years ago

Last modified 10 months ago

#8296 new enhancement

Auto generate password for new user

Reported by: AaronCampbell Owned by: jamierumbelow
Priority: normal Milestone: Future Release
Component: Users Version:
Severity: normal Keywords:
Cc: cnorris23+wordpress@…, bill.erickson@…, brad@…, aaroncampbell

Description

It would be nice to have a button that generates a random password to use when you're creating a new user account in the admin section

Attachments (4)

8296.diff (2.0 KB) - added by solarissmoke 2 years ago.
8296-1.diff (1.7 KB) - added by ericlewis 10 months ago.
Updated version of solarissmoke's implementation, as the current doesn't apply cleanly. Remove AJAX dependency.
8296.2.diff (3.1 KB) - added by SergeyBiryukov 10 months ago.
8296.2.png (13.5 KB) - added by SergeyBiryukov 10 months ago.

Download all attachments as: .zip

Change History (25)

  • Owner changed from anonymous to jamierumbelow

Good idea - I'll write a patch.

  • Milestone changed from 2.8 to Future Release
  • Component changed from Administration to Users
  • Cc cnorris23+wordpress@… added

Related: #9210

  • Keywords has-patch added; needs-patch removed

Patch adds a "generate random password" button to the add user section.

It uses ajax to call wp_generate_password(). We could quite easily generate a password with JS only, but I figured that we should allow the filter in wp_generate_password() to be applied. Open to other opinions however.

PS I haven't added the password generator to user-edit.php on the basis that you would typically want something random only when it is going to be emailed to the user for first use.

Adding a random password generator to user-edit.php feels like asking for trouble, because you just know someone will hit "update" without taking note of the random password.

#9210 has a JS version of wp_generate_password() from sivel.

comment:11 follow-up: ↓ 16   westi2 years ago

Why not just have a check box to send a random password to the user - no need for js or anything?

  • Keywords has-patch removed

That makes sense. Would it be going too far to just remove the manual password altogether and force a random password?

I'd be happy with "Leave blank to have a password randomly generated" although that doesn't make a lot of sense unless you've also checked the box to "Send this password to the new user by email."

  • Cc bill.erickson@… added
  • Cc brad@… added

comment:16 in reply to: ↑ 11   ericlewis10 months ago

Replying to westi:

Why not just have a check box to send a random password to the user - no need for js or anything?

Is there a large enough user population that has JS disabled, so things like this should be baked into PHP where possible?

The JS fix seems like it would fit in best as far as UX goes.

Last edited 10 months ago by ericlewis (previous) (diff)

Updated version of solarissmoke's implementation, as the current doesn't apply cleanly. Remove AJAX dependency.

  • Cc aaroncampbell added

I definitely like the first patch better (even if it needs a refresh). Using wp_generate_password() which allows filtering makes this more useful (especially on enterprise sites with specific password requirements)

8296.2.diff is the refreshed AJAX implementation. "Send this password to the new user by email" is checked automatically when the button is pressed.

Screenshot: 8296.2.png

I'd love a way to see the password that was generated. There are many occasions when I'm creating accounts for users and I need a record of the password on their account.

+1 to Brad's comment. Having the ability to view the randomly generated password when created is definitely useful.

When I send a site to a client for review, I create their user, give it a random password, and email their login information along with a lot of other information.

A good UI example of this is the cPanel password generator. A simple lightbox opens when you click to generate a password shown here:

http://docs.cpanel.net/twiki/bin/view/11_30/CpanelDocs/PasswordGenerator

Note: See TracTickets for help on using tickets.