Fix login redirect issue #44
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix Login Redirect Issue and Enhance Login Form
Description
This PR addresses two related issues:
Login Redirect Loop: Users were unable to log in through the frontend login form or access the WordPress admin login page due to a redirection loop between the custom login page and wp-login.php.
Login Form Caching Issues: The frontend login form on the
/account/
page was not working properly due to caching issues.Changes Made
Emergency Login Feature
maybe_obfuscate_login_url()
ininc/checkout/class-checkout-pages.php
to add an emergency login parameter checkhandle_auth_redirect()
ininc/sso/class-sso.php
to add the same emergency login parameter checkdocs/emergency-login.md
AJAX Login Functionality
login-ajax.js
andlogin-ajax.min.js
) to handle AJAX login submissionsBenefits
Testing
/account/
page/wp-login.php?emergency_login=1
Usage
Emergency Login
If a site administrator gets locked out of their site, they can use the emergency login parameter to access the WordPress login page directly:
AJAX Login
The frontend login form now uses AJAX to submit login requests, which: