Beim Aufruf von wp_signon wird der Benutzer nicht angemeldet

Ich programmiere gerade einen Single-Sign-On-Mechanismus für meine WordPress-Site, damit das Helpdesk-System meines Unternehmens sich bei WordPress authentifizieren kann.

Um dies zu ermöglichen, benutze ich wp_signon (), um den Benutzer zu signieren, wenn er noch nicht angemeldet ist. Hier ist eine vereinfachte Version von dem, was ich mache:

 $_POST["log"], 'user_password' => $_POST['pwd'], 'remember' => $_POST["rememberme"]); $user_info = wp_signon($creds, false); if(!is_a($user_info, 'WP_Error')) { $username = $_POST["log"]; wp_set_current_user($user->ID, $username); wp_set_auth_cookie($user->ID, true, false); do_action('wp_login', $username); } else { write_log(ERROR, "Error authenticating: " . $user_info->get_error_message($user_info->get_error_code())); } $user_info = wp_get_current_user(); /* Code from here uses user attributes to generate and encrypt a single sign-on token */ ?> 

Das Problem, mit dem ich konfrontiert bin, ist, dass der Benutzer selbst nach dem Aufruf von wp_signon() , wp_set_current_user() , wp_set_auth_cookie() und den Login-Aktionen immer noch nicht angemeldet ist. Ich bekomme ihr $ user_info-Objekt, aber sie sind nicht eingeloggt WordPress, also später, wenn sie einem gesicherten Link vom Support-System folgen, können sie nicht auf die Seite gelangen und sich erneut einloggen (womit sie den Zweck des Single Sign-On vereiteln).

Außerdem habe ich versucht, den gesamten wp_signon() -Abschnitt durch auth_redirect() zu auth_redirect() und den Benutzer erfolgreich auf der Site zu protokollieren, aber ich auth_redirect() dass sie auf die Profilseite umgeleitet werden, obwohl die URL einen Abfrageparameter hat um sie zurück zu meinem Skript zu leiten.

Solutions Collecting From Web of "Beim Aufruf von wp_signon wird der Benutzer nicht angemeldet"