Symfony access_token.token_handler срабатывает перед access_control. Как лучше всего пропустить его на общественных маршPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Symfony access_token.token_handler срабатывает перед access_control. Как лучше всего пропустить его на общественных марш

Сообщение Anonymous »

Я использую token_handler для проверки токена. Но мне это не нужно для маршрутов PUBLIC_ACCESS. Дело в том, что он срабатывает до access_control.
Могу ли я сначала каким-то образом проверить наличие PUBLIC_ACCESS? Или есть лучший способ избежать использования этого token_handler в общедоступных маршрутах? Каков наилучший способ? (Symfony 7)
# AccessTokenHandler.php

readonly class AccessTokenHandler implements AccessTokenHandlerInterface
{
public function __construct(private ApiTokenRepository $repository)
{
}

public function getUserBadgeFrom(string $accessToken): UserBadge
{
$accessToken = $this->repository->findOneByValue($accessToken);
if (is_null($accessToken) || !$accessToken->isValid()) {
throw new BadCredentialsException('Invalid credentials.');
}

return new UserBadge($accessToken->getUser()->getUserIdentifier());
}
}

# security.yaml

firewalls:
main:
json_login:
check_path: sign_in
username_path: email
password_path: password
access_token:
token_handler: App\Security\AccessTokenHandler
access_control:
- { path: ^/auth, roles: PUBLIC_ACCESS }
- { path: ^/*, roles: ROLE_USER }


Подробнее здесь: https://stackoverflow.com/questions/790 ... t-is-the-b
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»