Size: a a a

2020 October 05

DT

Dmitriy Tkachenko in symfony
Но симфониевая секурити не работает без провайдера, это один из её концептов
источник

👤U

👤 User in symfony
Хотя бы in_memory_provider заюзать.
источник

DT

Dmitriy Tkachenko in symfony
Тебе придётся юзать хоть какой провайдер, просто потому что это требование секурити
источник

AN

Alexander Nazarov in symfony
Dmitriy Tkachenko
Но симфониевая секурити не работает без провайдера, это один из её концептов
Если не юзать, то там как раз ошибка что нету provider.  firewall requires a user provider but none was defined
источник

👤U

👤 User in symfony
public function getUser($credentials, UserProviderInterface $userProvider)
   {
       if (null === $credentials) {
           // The token header was empty, authentication fails with HTTP Status
           // Code 401 "Unauthorized"
           return null;
       }

       // if a User is returned, checkCredentials() is called
       return $this->em->getRepository(User::class)
           ->findOneBy(['apiToken' => $credentials])
       ;
   }
источник

AN

Alexander Nazarov in symfony
Dmitry
это уже неправильно, токен уже подписан, достаточно проверить подпись и юзать данные из токена
Сам токен не дает мне понимания о какой либо мето информации пользователя. Например в каких он состоит группах.
источник

ПГ

Павел Г. in symfony
👤 User
public function getUser($credentials, UserProviderInterface $userProvider)
   {
       if (null === $credentials) {
           // The token header was empty, authentication fails with HTTP Status
           // Code 401 "Unauthorized"
           return null;
       }

       // if a User is returned, checkCredentials() is called
       return $this->em->getRepository(User::class)
           ->findOneBy(['apiToken' => $credentials])
       ;
   }
Как раз хотел это скинуть)
источник

👤U

👤 User in symfony
А мне вот это не понятно, кстати. Офф дока.Почему юзера достаем напрямки, в обход провайдера?
источник

ПГ

Павел Г. in symfony
Там суть, что их можно менять, но если этого не требуется - можно мимо провайдера юзать
источник

👤U

👤 User in symfony
А, ну да. Юзернейм-то здесь причем. Мы же ищем не по нейму, а по токену.
источник

DT

Dmitriy Tkachenko in symfony
раньше такой херни не было. И чтобы делать кастомную аутентификацию или авторизацию, там надо было свой аутентификатор писать, фабрику и все сподряд обрабатывать
источник

👤U

👤 User in symfony
public function getUser($credentials, UserProviderInterface $userProvider)
   {
       $token = new CsrfToken('authenticate', $credentials['csrf_token']);
       if (!$this->csrfTokenManager->isTokenValid($token)) {
           throw new InvalidCsrfTokenException();
       }

       $user = $this->entityManager->getRepository(User::class)->findOneBy(['email' => $credentials['email']]);

       if (!$user) {
           // fail authentication with a custom error
           throw new CustomUserMessageAuthenticationException('Email could not be found.');
       }

       return $user;
   }
источник

DT

Dmitriy Tkachenko in symfony
потом затащили концепции Voter и Guard, и все облегчили. Но требования по провайдеру видимо решили оставить
источник

👤U

👤 User in symfony
Вот еще один официальный пример. Это результат make:auth.
Опять провайдер почему-то не использовали.
источник

DT

Dmitriy Tkachenko in symfony
по хорошему, не стоит таскать весь entity manager где нипоподя
источник

DT

Dmitriy Tkachenko in symfony
👤 User
А, ну да. Юзернейм-то здесь причем. Мы же ищем не по нейму, а по токену.
токен может выступать как Username, в данном случае username - это просто уникальный идентификатор пользователя, это может быть username, phone, email или api-token
источник

BT

Bohdan Turchyk in symfony
PHP-Дайджест № 189

PHP 8.0 RC 1 и переименование параметров внутренних функций, PhpStorm 2020.3 EAP, многострочные короткие лямбды, атрибуты для групп свойств и другие новости PHP Internals, порция полезных инструментов, статьи, стримы, подкасты.

https://habr.com/ru/post/522042/
источник

ВУ

Валентин Удальцов... in symfony
источник

ВУ

Валентин Удальцов... in symfony
источник

ВУ

Валентин Удальцов... in symfony
Админы, может включите предпросмотр ссылок?)
источник