Use WP-CLI to generate a one-time login URL for any user
Author: | Daniel Bachhuber (profile at wordpress.org) |
WordPress version required: | 4.4 |
WordPress version tested: | 6.3.2 |
Plugin version: | 0.4.0 |
Added to WordPress repository: | 28-04-2016 |
Last updated: | 18-10-2023 |
Rating, %: | 100 |
Rated by: | 2 |
Plugin URI: | https://wordpress.org/plugins/one-time-login/ |
Total downloads: | 144 304 |
Active installs: | 30 000+ |
Click to start download |
Need access to a WordPress install but don’t want to create a new user account? Use this plugin to generate one-time login URLs for any existing user.
Then, copy the URL, paste it into your web browser, and… voila!
Because they are one-time login URLs, they will only work once. If you need access again, you’ll need to run the WP-CLI command again.
Using WP CLI to generate OTT URLs
Example
wp plugin install one-time-login --activate && wp user one-time-login <user> --count=3 --delay-delete
After you run the command above, you’ll see a success message like this:
http://wpdev.test/wp-login.php?user_id=2&one_time_login_token=93974b48e3a418b895fc7ca476f1a607d8b99345
Or like this if you asked for more than one:
http://wpdev.test/wp-login.php?user_id=1&one_time_login_token=2b9c6f5d71d51d530e397ee9da3b50e4e3dd06e7
http://wpdev.test/wp-login.php?user_id=1&one_time_login_token=90897da439a116c613fc1c49c372e6b1f7c72ad8
http://wpdev.test/wp-login.php?user_id=1&one_time_login_token=68c8074743de849db606500c3caa39a7432dc601<h3>Parameters</h3>
* count: Generate more than one login token (default: 1);
* delay-delete: Delete existing tokens after 15 minutes, instead of immediately.
Using WP API to generate OTT URLs
Example with cUrl
curl -X POST \
http://wpdev.test/wp-json/one-time-login/v1/token
-H 'authorization: Basic YWRtaW46eFRQeUJ5c3hEckhkY3BNYjE2endiQ2tj'
-H 'cache-control: no-cache'
-H 'postman-token: 8dcfa79a-401a-2c7d-c593-703e683ce785'
-d '{
"user":"admin",
"count": 3,
"delay-delete": true
}'<h3>Parameters</h3>
Just as with WP CLI, you can add the count and delay_delete parameters to your call.
Feel free to file issues and pull requests against the project on Github.
ChangeLog