readme.txt 5.52 KB
Newer Older
1 2
=== WP-OTP ===
Contributors: noplanman
noplanman's avatar
noplanman committed
3
Donate link: https://noplanman.ch/donate
4
Tags: login, 2fa, two factor, otp, totp, one time password, security, recovery, google authenticator
5
Requires at least: 4.6
6 7 8
Tested up to: 5.6
Stable tag: unreleased
Requires PHP: 7.4
noplanman's avatar
noplanman committed
9 10
Author URI: https://noplanman.ch
Plugin URI: https://git.feneas.org/noplanman/wp-otp
11
License: GPLv2 or later
noplanman's avatar
noplanman committed
12
License URI: https://www.gnu.org/licenses/gpl-2.0.html
13 14 15 16 17 18 19 20

Make your WordPress login extra secure with One Time Passwords.

== Description ==

With WP-OTP you can easily set up 2 Factor Authentication with One Time Passwords for your WordPress login.
This extra layer makes your WordPress site a lot more secure.

noplanman's avatar
noplanman committed
21 22
The new stealth mode allows for invisible OTP code entry, making your login screen look like any other, no extra OTP code input field.

23 24 25 26 27 28 29 30 31 32 33 34 35 36
= Getting started =
After installing and activating the plugin, every user can enable WP-OTP on their profile page.

It's as easy as scanning the provided QR Code or entering the OTP secret to any OTP generator app.
Then just activate it by entering the generated OTP and voilà, all set up.
Now, the login requires an OTP code to succeed.

Each user gets their own secret key to authenticate with, giving them control over their login security.

= Development =
This plugin is completely open source and a work of passion.
If you would like to be part of it and join in, make your way over to the [project page](https://git.feneas.org/noplanman/wp-otp) now.
Also, if you have an idea you would like to see in this plugin or if you've found a bug, please [let me know](https://git.feneas.org/noplanman/wp-otp/issues/new).

noplanman's avatar
noplanman committed
37 38 39
= Configuration =
* `WP_OTP_STEALTH`: Set this to `true` to enable stealth OTP mode.

40 41 42
= Filters =
There are a multitude of filters to be adjusted.

noplanman's avatar
noplanman committed
43
* `wp_otp_qr_code_provisioning_uri`: URI for online QR Code rendering (must contain `{PROVISIONING_URI}` placeholder for QR Code data).
44 45 46 47 48 49 50 51 52
* `wp_otp_login_form_text`: Text for input field on the login screen.
* `wp_otp_login_form_text_sub`: Subtext for the input field on the login screen.
* `wp_otp_login_form_invalid_code_text`: Error text for an invalid code input on the login screen.
* `wp_otp_code_expiration_window`: Set the window of code verification expiration.
* `wp_otp_recovery_codes_count`: Number of recovery codes to generate.
* `wp_otp_recovery_codes_length`: Length of the recovery codes.
* `wp_otp_secret_length`: Length of the secret key.

= Minimum requirements =
53
WordPress 4.6, PHP 7.4.
54

noplanman's avatar
noplanman committed
55 56 57 58 59 60 61 62 63 64 65
= Donate / Support =

All [donations](https://noplanman.ch/donate) are much appreciated, thank you 🙏

[Get professional support for this plugin with a Tidelift subscription](https://tidelift.com/subscription/pkg/wordpress-wp-otp?utm_source=wordpress-wp-otp&utm_medium=referral&utm_campaign=readme)
*Tidelift helps make open source sustainable for maintainers while giving companies assurances about security, maintenance, and licensing for their dependencies.*

= Security =

To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.

66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
== Installation ==

You can either use the built in WordPress installer or install the plugin manually.

For an automated installation:

1. Go to 'Plugins -> Add New' on your WordPress Admin page.
2. Search for the 'WP OTP' plugin.
3. Install by clicking the 'Install Now' button.
4. Activate the plugin on the 'Plugins' page in your WordPress Admin.

For a manual installation:

1. Upload the 'wp-otp' folder to the plugins directory of your WordPress installation.
2. Activate the plugin on the 'Plugins' page in your WordPress Admin.

== Frequently Asked Questions ==

= What if I lose my OTP authenticator? =
No problem! When activating WP-OTP, you will also get a list of recovery codes that you can use instead of entering the OTP from your authenticator app.
Be sure to regenerate them when you run out though, or better yet, reconfigure your WP-OTP to get a new secret and a new set of recovery codes.

= Can I reset my OTP secret key? =
Yes, just click the `Reconfigure` button on the profile page.

noplanman's avatar
noplanman committed
91 92 93 94
= Why is there no OTP input field on the login form? =
Your site admin has either disabled the plugin or enabled stealth mode.
This means that you will need to add your OTP (or recovery) code at the end of your password.

95 96
== Changelog ==

97 98 99 100
= unreleased =
* Require at least PHP 7.4.
* Bump dependencies.

101 102 103
= 0.5.1 =
* Fix activation and deactivation hooks.

noplanman's avatar
noplanman committed
104
= 0.5.0 =
105 106
* Require at least PHP 7.2.
* Update OTPHP to 10.0.
noplanman's avatar
noplanman committed
107
* Add native QR code rendering.
108
* Harden security by adhering to WordPress Code Sniffer.
109

110 111 112
= 0.4.1 =
* Fix nullable return type when checking if OTP is enabled.

noplanman's avatar
noplanman committed
113
= 0.4.0 =
114
* Drop all custom i18n and rely on translate.wordpress.org.
115 116
* Minimum requirements are now WP 4.6 and PHP 7.1.
* Update OTPHP to 9.1.
noplanman's avatar
noplanman committed
117
* Tested for WP 5.3.
118

noplanman's avatar
noplanman committed
119
= 0.3.0 =
noplanman's avatar
noplanman committed
120
* Update list of OTP mobile apps.
noplanman's avatar
noplanman committed
121
* Add stealth mode (via WP_OTP_STEALTH), passing OTP code concatenated to password.
noplanman's avatar
noplanman committed
122
* Add donation, support and security sections to readme.
noplanman's avatar
noplanman committed
123

noplanman's avatar
noplanman committed
124
= 0.2.1 =
noplanman's avatar
noplanman committed
125
* Add GitLab CI for PHP Code Sniffer.
126
* Fix changed Base32 namespace.
noplanman's avatar
noplanman committed
127

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
= 0.2.0 =
* Tested for WP 5.0.
* Update OTPHP to 8.3.3.
* Moved project to Feneas GitLab (git.feneas.org)

= 0.1.4 =
* Tested for WP 4.8.
* Update OTPHP to 8.3.0.

= 0.1.3 =
* Make OTP code input a normal text field, to allow input verification.

= 0.1.2 =
* Add proper localisation.

= 0.1.1 =
* Longer secret by default.
* Replace/override packages not compatible with WordPress.

= 0.1.0 =
* First version!
149 150 151

== Upgrade Notice ==

noplanman's avatar
noplanman committed
152
= 0.4.0 =
153
Minimum requirements are now WP 4.6 and PHP 7.1!