Vlastní authenticator vyhazuje chybu – Doba přihlášení vypršela. Prosím znovu se přihlaste

d3tr1tus
Člen | 52
+
0
-

Ahoj zkouším rozjet vlastní authenticator a zasekl jsem se na tom, že mi Nette po zavolání login vyhodí hlášku

message: "Doba přihlášení vypršela. Prosím znovu se přihlaste."

takhle mám nastavený CredentialsAuthenticator

namespace App\Model;


use Nette\Security\Identity;
use Nette\Security\User;

class CredentialsAuthenticator
{
    /** @var User */
    private $user;

    public function __construct(User $user)
    {
        $this->user = $user;
    }

    public function login($userData)
    {
        $this->user->setExpiration(FALSE ? '14 days' : '20 minutes');
        $this->user->login(new Identity($userData->id, ['admin'], $userData), $userData->password);
    }
}

zkoušel jsem taky podle tohodle návodu v dokumentaci nastavit authenticator pro uživatele ručně ale to mi vyhazuje error i po registraci do configu.

Mohl by jste mi někdo poradit? Díky :)

MajklNajt
Člen | 470
+
+1
-

ahoj, odporúčam prejsť si ešte raz dokumentáciu (https://doc.nette.org/…thentication#…), najmä prečítať aspoň 10× vetu: autentikátor je implementací rozhraní Nette\Security\IAuthenticator mající jedinou metodu authenticate(). Jejím úkolem je buď vrátit tzv. identitu nebo vyhodit výjimku Nette\Security\AuthenticationException

d3tr1tus
Člen | 52
+
0
-

@MajklNajt takto jsem to dělal uz predtim a nepomohlo to proto jsem to zkusil podle jineho navodu. Ted jsem to upravil znovu na tenhle zpusob a funguje to. Predtim jsem tam spatne odchytaval chyby proto mi to porad padalo. Diky :)