Użycie hooka wp_authenticate nie pozwala się zalogować
-
Witajcie.
Tworzę plugin, którego zadaniem jest sprawdzenie, czy uwierzytelnienie w systemie WordPress i oprogramowaniu forumowym się zgadza, a jeśli tak, to umożliwia zalogowanie w WordPressie (coś na zasadzie mostka). Więc dodałem hooka
add_action('wp_authenticate' , 'xyz_login');
, a następnie stworzyłem funkcję, która weryfikuje cały proces. Wszystko zostało sprawdzone kawałek po kawałku i w zasadzie działało do momentu przetestowania na serwerze. Jeżeli użytkownik poda dane, które nie pasują ani w WP, ani na forum, oznacza to, że prawdopodobnie nie ma konta i zostaje przekierowany do formularza rejestracyjnego. Takie jest założenie pluginu. Jednak problem leży w trochę innym miejscu. Po wejściu w link/wp-login.php
automatycznie przenosi od razu do formularza rejestracyjnego, zamiast wyświetlić formularz logowania i dopiero później zweryfikować logowanie. Wygląda to tak, że plugin chce weryfikować logowanie już przy samym przejściu do strony logowania. Prawdopodobnie dlatego, gdyż POST już z jakiegoś względu wysyła POSTEM zmienne o wartościnull
.Pytania mam zasadniczo dwa:
1. Dlaczego tak się dzieje? (zastanawiam się, czy to nie wina aktualizacji, gdyż kilka miesięcy temu testy przebiegły bezproblemowo)2. Na jakiej zasadzie działa
wp_authenticate
? (manual już znam na pamięć. Nie odsyłajcie mnie do niego 🙂 ). Wyobrażam to sobie tak, że wchodzę w formularz (login_form), wypisuję dane, klikam „ZALOGUJ” i WordPress wywołujewp_signon
(a pierwszym etapem autoryzacji jest właśniewp_authenticate
). Jeżeli tak jest, to dlaczego wtyczka pobiera parametr z funkcji przy przechodzeniu do formularza, a nie po jego wysłaniu?3. Może źle do tego podchodzę i używam złego hooka?
4. Może błąd leży po mojej stronie i powinienem na wszelki wypadek sprawdzać zawczasu, czy formularz nie jest pusty? Tylko w takim wypadku – co dalej? Wiedząc, że
wp_authenticate
działa po wysłaniu formularza, to nie wiem jak sprawdzenie tego ma mi pomóc przy włączaniu formularza (gdyż formularz wtedy będzie pusty i tak).Jeżeli coś jest niejasne, wytłumaczę. Jeśli jest potrzebna jakaś część kodu, pokażę 😉 Póki co interesuje mnie głównie merytoryka.
Pozdrawiam 🙂
- Temat ‘Użycie hooka wp_authenticate nie pozwala się zalogować’ jest zamknięty na nowe odpowiedzi.