=== Easy Secure Login - Google One Tap & Sign-In === Contributors: hardtoskip Donate link: https://hardtoskip.com/ Tags: google login, google sign in, google one tap, passwordless, oauth, google auth, authentication, security, secure login Requires at least: 5.0 Tested up to: 6.8 Requires PHP: 7.4 Stable tag: 2.1.2 License: GPL v2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Eliminate passwords and secure your site with Google. This plugin replaces WordPress login with a secure Google Sign-In button and frictionless Google One Tap authentication. == Description == **Easy Secure Login** is a security-focused plugin that completely replaces the standard WordPress password system with two powerful Google authentication methods: **Google Sign-In** and **Google One Tap**. By removing passwords, you eliminate the risk of brute-force attacks while offering users a fast, familiar, and frictionless login experience. Born out of necessity after a real-world brute-force attack, this plugin was designed to ensure that **only verified Google accounts can access your site**. It combines robust, Google-powered security with a beautiful user interface, automatic user management, and a step-by-step setup wizard. ### Key Features - **Passwordless Security:** Replaces vulnerable password logins with Google's secure OAuth 2.0. - **Google Sign-In Button:** A clean, modern "Continue with Google" button on your login page. - **Google One Tap:** Allows logged-in Google users to sign in instantly with a single click via a non-intrusive pop-up. - **Complete User Management:** Whitelist specific Google accounts and assign roles, or allow open registration for any Google user. - **Google Profile Picture Sync:** Automatically syncs and displays Google profile pictures as user avatars in WordPress. - **Built-in Security Hardening:** - Disable XML-RPC to prevent common attacks. - Disable the plugin and theme file editor. - Hide your WordPress version number. - Restrict REST API access to logged-in users. - Block direct access to sensitive core files. - **User-Friendly Setup Wizard:** A clean, multi-step guide to get your Google Cloud credentials configured in minutes. - **Actively Maintained** for the latest WordPress versions. This plugin provides maximum login security while dramatically improving the user experience. == Installation == 1. Upload the plugin folder to `/wp-content/plugins/` or install via **Plugins → Add New** in WordPress. 2. Activate the plugin through the **Plugins** menu. 3. Go to **Easy Secure Login** in the WordPress admin sidebar to launch the setup wizard. 4. **Follow the setup wizard:** - Create a Google Cloud project and configure OAuth credentials. - Add the "Authorized redirect URIs" and "Authorized JavaScript origins" provided by the wizard to your Google project. - Enter your **Google Client ID** and **Client Secret** into the plugin settings. - Configure **authorized users** or enable public sign-ups with a default role. - Enable optional **Google One Tap** on your homepage. - Review and enable additional **security enhancements**. 5. Test the login flow on your WordPress login page. That’s it! WordPress password login is now disabled, and your site is secured with Google. == Frequently Asked Questions == = Does this completely replace WordPress password login? = Yes. All password-related functionality is disabled, including the login form, password reset, and standard registration forms. Only Google authentication is permitted, protecting you from brute-force and password-guessing attacks. = Can I allow only specific users? = Yes. In the "Users" step of the wizard, you can build a whitelist of authorized Google email addresses and assign a specific WordPress role to each. = What if I want to allow any Google user to register? = You can enable the **"Allow New User Sign-Ups"** option. Any user who authenticates with a Google account will have an account created for them with your chosen default role (Subscriber is recommended for safety). = How does Google One Tap work? = Google One Tap is automatically enabled on the login page. If a user is already signed into their Google account in their browser, a small pop-up will appear, allowing them to log in to your site with a single click, without ever leaving the page. You can also choose to enable this on your homepage. = What happens to existing WordPress users? = They can log in seamlessly using the Google account that matches their existing WordPress user email address. Their account will be linked automatically. = Is this plugin compatible with other login or security plugins? = Because it completely replaces the core WordPress authentication flow, it will likely conflict with other plugins that modify the login process (like other social logins, 2FA, or login page customizers). It is designed to be an all-in-one solution for login security. = How secure is this? = Extremely secure. The entire authentication process is handled by Google's OAuth 2.0 servers. The plugin uses recommended security practices like `state` tokens for CSRF protection and server-side token verification to ensure all logins are legitimate. == External services == This plugin uses Google's Identity Services to provide a secure authentication method (Google Sign-In and Google One Tap). To function, it connects to several Google APIs. * **Service:** Google Identity Services (accounts.google.com) * **Purpose:** This service is used to display the "Sign in with Google" button and the Google One Tap prompt. It handles the user authentication process directly in the user's browser. * **Data Sent:** This plugin initiates the authentication flow, but user data (like email and password) is entered directly on Google's domain, not through this plugin. The plugin only receives a secure authentication token from Google after a successful login. * **Terms and Policies:** * Google Terms of Service: https://policies.google.com/terms * Google Privacy Policy: https://policies.google.com/privacy * **Service:** Google OAuth & People APIs (oauth2.googleapis.com, www.googleapis.com) * **Purpose:** After a user authenticates, the plugin's server sends the received authentication token/code to these Google APIs to verify its authenticity and retrieve basic user profile information (email, name, profile picture). * **Data Sent:** An authentication token/code provided by Google is sent from your server to Google's servers for validation. * **Terms and Policies:** * Google APIs Terms of Service: https://developers.google.com/terms == Changelog == = 2.1.2 = * **Security:** Hardened security by adding nonce verification to the login error display and One Tap callback handlers to prevent Cross-Site Request Forgery (CSRF) vulnerabilities. * **Security:** Implemented the recommended OAuth 2.0 `state` parameter validation during the standard Google Sign-In flow to protect against CSRF attacks. * **Security:** Improved data sanitization on the admin settings page to ensure redirect URLs are handled securely. * **Fix:** Corrected a bug where the "Please configure your Google OAuth credentials" admin notice would persist even after the plugin was fully configured. * **Enhancement:** Updated the readme.txt to include a comprehensive "External Services" section, clearly documenting the use of Google APIs as required by WordPress plugin guidelines. = 2.1.1 = Initial Release