Vlastny authentificator podla quickstartu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Markuss
Člen | 4
+
0
-

Ahojte snazil som si spravil prihlasenie na stranku no marne
do config.local.neon som zadal

services:
authenticator: MyAuth

signFormFactory.php v nom je kod nedotknuty snazim sa prihlasit a marne heslo som vygeneroval cez : http://bcrypthashgenerator.apphb.com a vlozil som meno a heslo do databazy a nejde to prihlasit exception vyhodi : The username or password you entered is incorrect. tento exception sa nachadza v signFormFactory

a tu je kod

<?php

namespace App\Presenters;

use Nette;
use Nette\Security as NS;

class MyAuth extends Nette\Object implements NS\IAuthenticator
{
public $database;

function __construct(Nette\Database\Context $database)
{
$this->database = $database;
}

    function authenticate(array $credentials)
    {
        list($username, $password) = $credentials;
        $row = $this->database->table('users')
            ->where('username', $username)->fetch();

        if (!$row) {
            throw new NS\AuthenticationException('User not found.');
        }

        if (!NS\Passwords::verify($password, $row->password)) {
            throw new NS\AuthenticationException('Invalid password.');
        }

        return new NS\Identity($row->id, array('username' => $row->username));
    }
}

?>

dakujem za pomoc :)

David Matějka
Moderator | 6445
+
0
-

mas dostatecne velky sloupecek pro heslo v databazi? neorizlo to ten hash?

Markuss
Člen | 4
+
0
-

ano to som kontroloval to mam dobre predtym ako som sem napisal som hladat vsade mozne kde maju podobny problem aj tu na fore no nasiel som problem len s tym ze bud niekto to zabudol zahashovat alebo dal malicky stlpcek PS: ten hash je stale iny teda ak tam zadam nejake heslo napr: marek tak hash bude stale iny to je ok?

EDIT: asi bol to troska iny ten webovy generator. pretoze ked som si nechal vypisat nejake heslo cez tuto metodu Nette\Security\Passwords::hash(‚myPassword‘) tak to islo potom bez problemov :)

Editoval Markuss (22. 9. 2016 19:32)