Login Redirect zeigt weiße Seite in Firefox

Ich entwickle ein Plugin, das es ermöglicht, ein lokales WordPress-Konto mit einem Zwei-Faktor-Authentifizierungsdienst zu verknüpfen.

Der Login- und Linking-Flow funktioniert perfekt in Chrome und IE, aber die Weiterleitungen führen zu einer weißen Seite in Firefox. Seltsamerweise gibt es keinerlei Fehler, da der gesamte Code ausgeführt wird und eine einfache F5-Aktualisierung der Seite die richtige Seite anzeigt.

Wie Sie im folgenden Code sehen können, verwende ich nur einmal eine wp_redirect (), um den Authentifizierungsablauf auszulösen. Das funktioniert und ist nicht das Problem. Von da an ist es WordPress, das alle Redirects behandelt und das in Chrome und IE gut macht, aber in Firefox nicht funktioniert

public function myplugin_callback() { global $wp_query; if ($wp_query->get('code')) { $_SESSION['code'] = $wp_query->get('code'); $_SESSION['state'] = $wp_query->get('state'); wp_redirect(site_url('wp-login.php', 'login')); echo 'Please wait, logging in.'; exit; } } public function myplugin_authenticate($user, $username) { // do the authentication here if (isset($_SESSION['code'])) { /* get userdata via OAuth here */ if (isset($userData['email'])) { $userSearch = get_user_by('email', $userData['email']); if ($userSearch) { // user exists $uuid = get_user_meta($userSearch->ID, 'myplugin_uuid', true); if ($uuid == $userData['uuid']) { // user is linked $user = new WP_User($userSearch->ID); } else { // user is not linked $_SESSION['myplugin-data'] = serialize($userData); $user = new WP_Error('denied', __('You already have an account with this email on this blog. Please log in to link this account with our service.')); remove_action('authenticate', 'wp_authenticate_username_password', 20); } } else { // user does not exist $user = new WP_Error(); } } unset($_SESSION['code']); } else { // local login $userSearch = get_user_by('login', $username); if ($userSearch) { $uuid = get_user_meta($userSearch->ID, 'myplugin_uuid', true); if (!isset($_SESSION['myplugin-data']) && !empty($uuid) && !$this->myPluginHelper()->getlocalAuthAllowed()) { $user = new WP_Error('denied', __('Local login disabled. Please use myPlugin to log in.'), 'message'); remove_action('authenticate', 'wp_authenticate_username_password', 20); } else { add_filter('login_redirect', array($this, 'save_myplugin_uuid'), 10, 3); } } } return $user; } public function save_myplugin_uuid($redirect_to, $request, $user) { if (isset($_SESSION['myplugin-data']) && is_a($user, 'WP_User')) { $userData = unserialize($_SESSION['myplugin-data']); update_usermeta($user->ID, 'myplugin_uuid', $userData['uuid']); unset($_SESSION['myplugin-data']); } return $redirect_to; } 

Ich habe ziemlich viel gegoogelt, vergeblich. Hat jemand eine Idee?

Danke Jeroen

Solutions Collecting From Web of "Login Redirect zeigt weiße Seite in Firefox"