diff --git a/_docs/shortcodes.md b/_docs/shortcodes.md index b6b4820..86c0da3 100644 --- a/_docs/shortcodes.md +++ b/_docs/shortcodes.md @@ -56,3 +56,13 @@ This will render only the Signup form This will render only the Password Reset form + +## Only Magic Login Form + +**Short Code:** + + +[fluent_auth_magic_login]<h3>Your internal Heading</h3>[/fluent_auth_magic_login] + + +This will render only the magic login form diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index b123c1e..960a84e 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -133,6 +133,12 @@ public static function getSetting($key, $default = false) public static function getIp($anonymize = false) { + static $ipAddress; + + if ($ipAddress) { + return $ipAddress; + } + if (empty($_SERVER['REMOTE_ADDR'])) { // It's a local cli request return '127.0.0.1'; @@ -169,7 +175,9 @@ public static function getIp($anonymize = false) return wp_privacy_anonymize_ip($ipAddress); } - return sanitize_text_field(wp_unslash($ipAddress)); + $ipAddress = sanitize_text_field(wp_unslash($ipAddress)); + + return $ipAddress; } public static function loadView($template, $data) diff --git a/app/Hooks/Handlers/BasicTasksHandler.php b/app/Hooks/Handlers/BasicTasksHandler.php index 499cbfa..3a82c7c 100644 --- a/app/Hooks/Handlers/BasicTasksHandler.php +++ b/app/Hooks/Handlers/BasicTasksHandler.php @@ -29,7 +29,7 @@ public function register() add_action('fluent_auth_daily_tasks', function () { \FluentAuth\App\Helpers\Helper::cleanUpLogs(); }); - + /* * Maybe Disable Admin Bar */ diff --git a/fluent-security.php b/fluent-security.php index 8f8ab4f..d941ef0 100644 --- a/fluent-security.php +++ b/fluent-security.php @@ -5,7 +5,7 @@ Plugin Name: FluentAuth - Auth Security Plugin Plugin URI: https://fluentauth.com Description: Super Simple Login & Signup Security and Social Login Plugin for WordPress -Version: 1.0.0 +Version: 1.0.1 Author: Fluent Auth Team Author URI: https://fluentauth.com License: GPLv2 or later @@ -16,7 +16,7 @@ define('FLUENT_AUTH_PLUGIN_PATH', plugin_dir_path(__FILE__)); define('FLUENT_AUTH_PLUGIN_URL', plugin_dir_url(__FILE__)); -define('FLUENT_AUTH_VERSION', '1.0.0'); +define('FLUENT_AUTH_VERSION', '1.0.1'); class FluentAuthPlugin { diff --git a/language/fluent-security.pot b/language/fluent-security.pot index 4bda744..e8c3bed 100644 --- a/language/fluent-security.pot +++ b/language/fluent-security.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Fluent Auth\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-12 13:39+0000\n" +"POT-Creation-Date: 2022-12-16 15:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: \n" @@ -26,68 +26,68 @@ msgstr "" msgid "%s Google" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:896 +#: app/Hooks/Handlers/CustomAuthHandler.php:951 #, php-format msgid "%s is required" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:858 +#: app/Hooks/Handlers/CustomAuthHandler.php:913 #, php-format msgid "

%s

" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:855 +#: app/Hooks/Handlers/CustomAuthHandler.php:910 #, php-format msgid "

Hi %s,

" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:859 +#: app/Hooks/Handlers/CustomAuthHandler.php:914 msgid "" "

If you did not request to reset your password, please ignore this email." "

" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:856 +#: app/Hooks/Handlers/CustomAuthHandler.php:911 msgid "" "

Someone has requested a new password for the following account on " "WordPress:

" msgstr "" -#: app/Services/AuthService.php:183 +#: app/Services/AuthService.php:182 msgid "" "Error: This email address is already registered. Please " "login or try reset password" msgstr "" -#: app/Services/AuthService.php:240 +#: app/Services/AuthService.php:239 msgid "" "Error: Could not register you. Please contact the site " "admin!" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:807 +#: app/Hooks/Handlers/CustomAuthHandler.php:862 msgid "Error: Invalid username or email" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:621 +#: app/Hooks/Handlers/CustomAuthHandler.php:676 msgid "" "Error: Invalid username, email address or incorrect " "password." msgstr "" -#: app/Services/AuthService.php:160 +#: app/Services/AuthService.php:159 msgid "Error: Please enter a username." msgstr "" -#: app/Services/AuthService.php:176 +#: app/Services/AuthService.php:175 msgid "Error: Please type your email address." msgstr "" -#: app/Services/AuthService.php:170 +#: app/Services/AuthService.php:169 msgid "Error: Sorry, that username is not allowed." msgstr "" -#: app/Services/AuthService.php:178 +#: app/Services/AuthService.php:177 msgid "Error: The email address is not correct." msgstr "" @@ -97,19 +97,19 @@ msgid "" "different combination." msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:801 +#: app/Hooks/Handlers/CustomAuthHandler.php:856 msgid "" "Error: There is no account with that username or email " "address." msgstr "" -#: app/Services/AuthService.php:165 +#: app/Services/AuthService.php:164 msgid "" "Error: This username is already registered. Please choose " "another one." msgstr "" -#: app/Services/AuthService.php:162 +#: app/Services/AuthService.php:161 msgid "" "Error: This username is invalid because it uses illegal " "characters. Please enter a valid username." @@ -150,7 +150,7 @@ msgstr "" msgid "All Time" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:176 +#: app/Hooks/Handlers/CustomAuthHandler.php:177 msgid "Already have an account?" msgstr "" @@ -182,16 +182,16 @@ msgstr "" msgid "Browser" msgstr "" -#: app/Hooks/Handlers/MagicLoginHandler.php:245 +#: app/Hooks/Handlers/MagicLoginHandler.php:250 msgid "Check your inbox" msgstr "" -#: app/Hooks/Handlers/MagicLoginHandler.php:202 +#: app/Hooks/Handlers/MagicLoginHandler.php:207 #, php-format msgid "Click the link below to sign in to your %s account" msgstr "" -#: app/Hooks/Handlers/BasicTasksHandler.php:79 +#: app/Hooks/Handlers/BasicTasksHandler.php:135 msgid "Configure Fluent Auth" msgstr "" @@ -199,11 +199,16 @@ msgstr "" msgid "Connect with" msgstr "" +#: app/Hooks/Handlers/CustomAuthHandler.php:297 +#: app/Hooks/Handlers/MagicLoginHandler.php:87 +msgid "Continue" +msgstr "" + #: app/Hooks/Handlers/AdminMenuHandler.php:135 msgid "Core Security Settings" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:111 +#: app/Hooks/Handlers/CustomAuthHandler.php:112 msgid "Create an Account" msgstr "" @@ -211,7 +216,7 @@ msgstr "" msgid "Credential Storage Method" msgstr "" -#: fluent-security.php:85 app/Hooks/Handlers/AdminMenuHandler.php:113 +#: fluent-security.php:86 app/Hooks/Handlers/AdminMenuHandler.php:113 msgid "Dashboard" msgstr "" @@ -231,6 +236,11 @@ msgstr "" msgid "Description" msgstr "" +#: app/Hooks/Handlers/AdminMenuHandler.php:203 +msgid "" +"Disable admin bar and /wp-admin/ access for selected user roles." +msgstr "" + #: app/Hooks/Handlers/AdminMenuHandler.php:137 msgid "Disable App Login (Rest API) for Remote Access. (Recommended: Disable)" msgstr "" @@ -262,11 +272,11 @@ msgstr "" msgid "Disable XML-RPC Requests" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:593 +#: app/Hooks/Handlers/CustomAuthHandler.php:648 msgid "Email and Password is required" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:626 +#: app/Hooks/Handlers/CustomAuthHandler.php:681 msgid "Email or Password is not valid. Please try again" msgstr "" @@ -296,8 +306,8 @@ msgstr "" #: app/Hooks/Handlers/MagicLoginHandler.php:77 msgid "" -"Enter the email address or username associated with your account, and we " -"will send a direct login url to your inbox." +"Enter the email address or username associated with your account, and we'll " +"send a magic link to your inbox." msgstr "" #: app/Hooks/Handlers/AdminMenuHandler.php:143 @@ -328,11 +338,11 @@ msgstr "" msgid "FluentAuth Settings" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:117 +#: app/Hooks/Handlers/CustomAuthHandler.php:118 msgid "Forgot your password?" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:679 +#: app/Hooks/Handlers/CustomAuthHandler.php:734 msgid "Form validation failed. Please provide the correct data" msgstr "" @@ -342,10 +352,6 @@ msgid "" "and Password Reset Form)" msgstr "" -#: app/Hooks/Handlers/MagicLoginHandler.php:87 -msgid "Get Login URL" -msgstr "" - #: app/Hooks/Handlers/AdminMenuHandler.php:131 msgid "Github Client ID" msgstr "" @@ -362,8 +368,8 @@ msgstr "" msgid "Google Client Secret" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:210 -#: app/Hooks/Handlers/MagicLoginHandler.php:201 +#: app/Hooks/Handlers/TwoFaHandler.php:214 +#: app/Hooks/Handlers/MagicLoginHandler.php:206 #, php-format msgid "Hello %s," msgstr "" @@ -377,16 +383,16 @@ msgstr "" msgid "https://fluentauth.com" msgstr "" -#: app/Hooks/Handlers/MagicLoginHandler.php:212 +#: app/Hooks/Handlers/MagicLoginHandler.php:217 msgid "" "If the button above does not work, paste this link into your web browser:" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:233 +#: app/Hooks/Handlers/TwoFaHandler.php:237 msgid "If you did not make this request, you can safely ignore this email." msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:783 +#: app/Hooks/Handlers/CustomAuthHandler.php:838 msgid "Invalid username or email" msgstr "" @@ -410,7 +416,7 @@ msgstr "" msgid "Log Login Logs" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:178 +#: app/Hooks/Handlers/CustomAuthHandler.php:179 msgid "Login" msgstr "" @@ -418,7 +424,7 @@ msgstr "" msgid "Login Code" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:571 +#: app/Hooks/Handlers/CustomAuthHandler.php:626 msgid "Login is not enabled" msgstr "" @@ -502,7 +508,7 @@ msgstr "" msgid "Not enough data. This section will show recent successful logins" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:109 +#: app/Hooks/Handlers/CustomAuthHandler.php:110 msgid "Not registered?" msgstr "" @@ -527,11 +533,15 @@ msgstr "" msgid "Other Settings" msgstr "" +#: app/Hooks/Handlers/CustomAuthHandler.php:511 +msgid "Password" +msgstr "" + #: app/Hooks/Handlers/AdminMenuHandler.php:193 msgid "Password Reset Form ShortCode" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:820 +#: app/Hooks/Handlers/CustomAuthHandler.php:875 msgid "Password reset is not allowed for this user" msgstr "" @@ -541,7 +551,7 @@ msgid "" "*** with your app values)" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:884 +#: app/Hooks/Handlers/CustomAuthHandler.php:939 msgid "Please check your email for the reset link" msgstr "" @@ -551,11 +561,15 @@ msgid "" "Provide here to login" msgstr "" +#: app/Hooks/Handlers/TwoFaHandler.php:132 +msgid "Please provide a valid login code" +msgstr "" + #: app/Hooks/Handlers/AdminMenuHandler.php:149 msgid "Provide Login Security Pass that users need to provide when login" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:901 +#: app/Hooks/Handlers/CustomAuthHandler.php:956 #, php-format msgid "Provided %s is not a valid email" msgstr "" @@ -572,35 +586,39 @@ msgstr "" msgid "refresh" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:720 +#: app/Hooks/Handlers/CustomAuthHandler.php:775 msgid "Registration has been completed. Please login now" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:119 -#: app/Hooks/Handlers/CustomAuthHandler.php:219 +#: app/Hooks/Handlers/CustomAuthHandler.php:120 +#: app/Hooks/Handlers/CustomAuthHandler.php:220 msgid "Reset Password" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:837 -#: app/Hooks/Handlers/CustomAuthHandler.php:853 +#: app/Hooks/Handlers/CustomAuthHandler.php:892 +#: app/Hooks/Handlers/CustomAuthHandler.php:908 #, php-format msgid "Reset your password for %s" msgstr "" +#: app/Hooks/Handlers/AdminMenuHandler.php:204 +msgid "Roles to disable wp-admin access and hide admin bar" +msgstr "" + #: app/Hooks/Handlers/AdminMenuHandler.php:133 msgid "Save Settings" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:579 +#: app/Hooks/Handlers/CustomAuthHandler.php:634 msgid "Security nonce is required" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:585 +#: app/Hooks/Handlers/CustomAuthHandler.php:640 msgid "Security verification failed" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:655 -#: app/Hooks/Handlers/CustomAuthHandler.php:762 +#: app/Hooks/Handlers/CustomAuthHandler.php:710 +#: app/Hooks/Handlers/CustomAuthHandler.php:817 msgid "Security verification failed. Please try again" msgstr "" @@ -616,12 +634,12 @@ msgstr "" msgid "Send email notification when a user get blocked" msgstr "" -#: fluent-security.php:79 app/Hooks/Handlers/AdminMenuHandler.php:115 +#: fluent-security.php:80 app/Hooks/Handlers/AdminMenuHandler.php:115 msgid "Settings" msgstr "" -#: app/Http/Controllers/SettingsController.php:29 -#: app/Http/Controllers/SettingsController.php:162 +#: app/Http/Controllers/SettingsController.php:30 +#: app/Http/Controllers/SettingsController.php:163 msgid "Settings has been updated" msgstr "" @@ -629,13 +647,13 @@ msgstr "" msgid "Settings Overview" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:225 -#: app/Hooks/Handlers/MagicLoginHandler.php:198 +#: app/Hooks/Handlers/TwoFaHandler.php:229 +#: app/Hooks/Handlers/MagicLoginHandler.php:203 #, php-format msgid "Sign in to %s" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:168 +#: app/Hooks/Handlers/CustomAuthHandler.php:169 msgid "Signup" msgstr "" @@ -647,7 +665,7 @@ msgstr "" msgid "Social Login/Signup Settings" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:211 +#: app/Hooks/Handlers/TwoFaHandler.php:215 #, php-format msgid "" "Someone requested to login to %s and here is the Login code that you can use " @@ -678,11 +696,11 @@ msgstr "" msgid "Sorry, You can not login via magic url. Please use regular login form" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:157 +#: app/Hooks/Handlers/TwoFaHandler.php:163 msgid "Sorry, You can not use this verification method" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:163 +#: app/Hooks/Handlers/TwoFaHandler.php:169 msgid "Sorry, your login code has been expired. Please try to login again" msgstr "" @@ -702,7 +720,7 @@ msgstr "" msgid "Successful Logins" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:727 +#: app/Hooks/Handlers/CustomAuthHandler.php:782 msgid "Successfully registered to the site." msgstr "" @@ -711,23 +729,23 @@ msgid "" "Super Simple Login & Signup Security and Social Login Plugin for WordPress" msgstr "" -#: app/Hooks/Handlers/BasicTasksHandler.php:78 +#: app/Hooks/Handlers/BasicTasksHandler.php:134 #, php-format msgid "" "Thank you for installing %s Plugin. Please configure the security settings " "to enable enhanced security of your site" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:200 +#: app/Hooks/Handlers/TwoFaHandler.php:204 msgid "There has an error when log you in. Please try to login again" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:214 +#: app/Hooks/Handlers/TwoFaHandler.php:218 #, php-format msgid "This code will expire in %d minutes and can only be used once." msgstr "" -#: app/Hooks/Handlers/MagicLoginHandler.php:203 +#: app/Hooks/Handlers/MagicLoginHandler.php:208 #, php-format msgid "This link will expire in %d minutes and can only be used once." msgstr "" @@ -764,11 +782,11 @@ msgstr "" msgid "User ID" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:649 +#: app/Hooks/Handlers/CustomAuthHandler.php:704 msgid "User registration is not enabled" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:139 +#: app/Hooks/Handlers/CustomAuthHandler.php:140 #, php-format msgid "User registration is not enabled. Go to Home Page" msgstr "" @@ -781,7 +799,11 @@ msgstr "" msgid "Username" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:771 +#: app/Hooks/Handlers/CustomAuthHandler.php:510 +msgid "Username or Email" +msgstr "" + +#: app/Hooks/Handlers/CustomAuthHandler.php:826 msgid "Username or email is required" msgstr "" @@ -795,13 +817,13 @@ msgstr "" msgid "view your security config and recent login activities" msgstr "" -#: app/Hooks/Handlers/MagicLoginHandler.php:239 +#: app/Hooks/Handlers/MagicLoginHandler.php:244 msgid "" "We just emailed a login link to your registered email. Click the link to " "sign in." msgstr "" -#: app/Hooks/Handlers/MagicLoginHandler.php:241 +#: app/Hooks/Handlers/MagicLoginHandler.php:246 #, php-format msgid "We just emailed a magic link to %s. Click the link to sign in." msgstr "" @@ -818,10 +840,11 @@ msgstr "" msgid "wp-config file(recommended)" msgstr "" -#: app/Hooks/Handlers/CustomAuthHandler.php:76 -#: app/Hooks/Handlers/CustomAuthHandler.php:143 -#: app/Hooks/Handlers/CustomAuthHandler.php:194 -#: app/Hooks/Handlers/CustomAuthHandler.php:236 +#: app/Hooks/Handlers/CustomAuthHandler.php:77 +#: app/Hooks/Handlers/CustomAuthHandler.php:144 +#: app/Hooks/Handlers/CustomAuthHandler.php:195 +#: app/Hooks/Handlers/CustomAuthHandler.php:241 +#: app/Hooks/Handlers/CustomAuthHandler.php:269 #, php-format msgid "You are already logged in. Go to Home Page" msgstr "" @@ -832,10 +855,12 @@ msgstr "" msgid "You are trying too much. Please try after %d minutes" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:223 +#: app/Hooks/Handlers/TwoFaHandler.php:227 msgid "You can also login by clicking the following button" msgstr "" +#: app/Hooks/Handlers/CustomAuthHandler.php:286 +#: app/Hooks/Handlers/CustomAuthHandler.php:288 #: app/Hooks/Handlers/MagicLoginHandler.php:80 #: app/Hooks/Handlers/MagicLoginHandler.php:82 msgid "Your Email/Username" @@ -853,19 +878,19 @@ msgid "" "address. Please use the same email address" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:207 +#: app/Hooks/Handlers/TwoFaHandler.php:211 #, php-format msgid "Your Login code for %1s - %d" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:212 +#: app/Hooks/Handlers/TwoFaHandler.php:216 msgid "Your Login Code: " msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:149 +#: app/Hooks/Handlers/TwoFaHandler.php:155 msgid "Your provided code is not valid. Please try again" msgstr "" -#: app/Hooks/Handlers/TwoFaHandler.php:138 +#: app/Hooks/Handlers/TwoFaHandler.php:144 msgid "Your provided code or url is not valid" msgstr "" diff --git a/readme.txt b/readme.txt index 188273e..7b8ac3a 100644 --- a/readme.txt +++ b/readme.txt @@ -1,10 +1,10 @@ === FluentAuth - The Ultimate Authorization & Security Plugin for WordPress === -Contributors: techjewel -Tags: Login limit, disable xml-rpc, login logs, social logins, login redirects +Contributors: techjewel, wpmanageninja, adreastrian +Tags: Login limit, login redirects, xml-rpc, login logs, social logins, Requires at least: 5.0 Tested up to: 6.1 Requires PHP: 7.0 -Stable tag: 1.0.0 +Stable tag: 1.0.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -25,6 +25,10 @@ Boost Your Website's Security with Login/Signup Security, Two-Factor Email Authe - Core Security Enhancement - Security Email Notifications - Super Fast Solution +- Restrict /wp-admin for low level user roles + +[youtube https://www.youtube.com/watch?v=5t_8rvtrkk4] + **🚀 Two-Factor Authentication for Login** Ensure secure access to your admin panel with Two-Factor Login via email for high-level user roles like Administrator / Editor. Even if a password gets compromised, only the right person will be able to log in with the additional authentication step. @@ -53,6 +57,9 @@ As a business owner, it's important to know when high-level users like administr **🚀 Super Fast Solution** We've built this plugin to be super-fast and simple yet powerful, using the latest technologies like WordPress REST-API, VueJS V3, Vue-Router, and Element-Plus for UI building. We also use custom database tables to store audit logs, so they don't interfere with your default WordPress database tables. +**🚀 Restrict /wp-admin for low level user roles** +If you want to restrict /wp-admin access for subscribers or other low level user roles then you can easily enable that and select the user roles that you want to restrict /wp-admin access. + == Why FluentAuth? == To improve the security and user experience of a WordPress website, the default authentication system may need to be enhanced with additional plugins. One common issue that WordPress site owners face is their site getting hacked. This is often due to hackers using brute-force attacks to guess passwords and gain access to the admin panel, leading to site takeover. Additionally, the use of common passwords on multiple sites can put all of them at risk if one password is compromised. @@ -61,6 +68,36 @@ Using multiple security plugins can be detrimental to the performance of a WordP To Solve these issues, we decided to build FluentAuth and made it free. +== Replace Multiple Plugins with FluentAuth == + +FluentAuth has been designed to provide light-weight security solution while adding better UX and performance of your site. If you use FluentAuth then you don't need the following plugins + +**For Login Limit and ban brute force attacks** + +- Limit Login Attempts Reloaded +- WPS Limit Login + +**For Login & Logout Redirections** + +- LoginWP (Formerly Peter's Login Redirect) +- Sky Login Redirect +- WP Login and Logout Redirect + +**For Login & Logout Redirections** + +- LoginWP (Formerly Peter's Login Redirect) +- Sky Login Redirect +- WP Login and Logout Redirect + +**For Hide Admin Bar and Access Restriction** + +- Hide Admin Bar +- Hide Admin Bar Based on User Roles +- Auto Hide Admin Bar +- Hide Admin Bar from Non-Admins + + + == User Guides ==