From 4733156c358e3e695a665cca1b3780f458bc887b Mon Sep 17 00:00:00 2001 From: Sagar Tamang Date: Wed, 14 Jan 2026 17:58:50 +0545 Subject: [PATCH 1/3] refactor: use the helper function to retrieve the redirect url during google one tap login --- src/Modules/OneTapLogin.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Modules/OneTapLogin.php b/src/Modules/OneTapLogin.php index 9e475f00..791b73ec 100644 --- a/src/Modules/OneTapLogin.php +++ b/src/Modules/OneTapLogin.php @@ -14,6 +14,7 @@ namespace RtCamp\GoogleLogin\Modules; use Exception; +use PHPUnit\TextUI\Help; use RtCamp\GoogleLogin\Utils\Authenticator; use RtCamp\GoogleLogin\Utils\GoogleClient; use RtCamp\GoogleLogin\Utils\Helper; @@ -197,7 +198,7 @@ public function validate_token(): void { */ do_action( 'rtcamp.id_token_verified' ); - $redirect_to = apply_filters( 'rtcamp.google_default_redirect', admin_url() ); + $redirect_to = Helper::get_redirect_url(); $state = Helper::filter_input( INPUT_POST, 'state', FILTER_SANITIZE_FULL_SPECIAL_CHARS ); $decoded_state = $state ? (array) ( json_decode( base64_decode( $state ) ) ) : null; // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode From d0f5699c9079adfff66028e6e3355cce06765350 Mon Sep 17 00:00:00 2001 From: Sagar Tamang Date: Wed, 14 Jan 2026 13:53:21 +0000 Subject: [PATCH 2/3] fix: redirect not working when login url is modified by third party plugin --- src/Utils/Helper.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Utils/Helper.php b/src/Utils/Helper.php index 86b2bcd4..b07ce11e 100644 --- a/src/Utils/Helper.php +++ b/src/Utils/Helper.php @@ -215,7 +215,15 @@ public static function get_redirect_url(): string { // Initializing the default with admin URL. $default_redirect_url = admin_url(); - if ( 'wp-login.php' === $pagenow ) { + $wp_login_url = trailingslashit( wp_login_url() ); + + // Get the current page URL. + $scheme = ( ! empty( $_SERVER['HTTPS'] ) && 'off' !== $_SERVER['HTTPS'] ) ? 'https' : 'http'; + $host = isset( $_SERVER['HTTP_HOST'] ) ? sanitize_text_field( $_SERVER['HTTP_HOST'] ) : wp_parse_url( site_url(), PHP_URL_HOST ); + $path = isset( $_SERVER['REQUEST_URI'] ) ? wp_parse_url( sanitize_text_field( $_SERVER['REQUEST_URI'] ), PHP_URL_PATH ) : ''; + $current_page_url = trailingslashit( $scheme . '://' . $host . $path ); + + if ( 'wp-login.php' === $pagenow || $current_page_url === $wp_login_url ) { // If any redirect_to query parameter is available. $redirect_to = filter_input( INPUT_GET, 'redirect_to', FILTER_SANITIZE_URL ); From 7438260e845610b87cea4aa3f778f3cd803862e6 Mon Sep 17 00:00:00 2001 From: Sagar Tamang Date: Wed, 14 Jan 2026 14:08:52 +0000 Subject: [PATCH 3/3] removed unnecessary import --- src/Modules/OneTapLogin.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Modules/OneTapLogin.php b/src/Modules/OneTapLogin.php index 791b73ec..fdda15d2 100644 --- a/src/Modules/OneTapLogin.php +++ b/src/Modules/OneTapLogin.php @@ -14,7 +14,6 @@ namespace RtCamp\GoogleLogin\Modules; use Exception; -use PHPUnit\TextUI\Help; use RtCamp\GoogleLogin\Utils\Authenticator; use RtCamp\GoogleLogin\Utils\GoogleClient; use RtCamp\GoogleLogin\Utils\Helper;