jwt токен пользователя.
Если ставить гранты в security.yaml, проверка происходит корректно, то бишь сопостовляет роли текущего пользователя.
use Symfony\Component\Security\Core\Security;
class MyProfile extends AbstractController
{
private $user;
public function __construct(Security $security)
{
$this->user = $security->getUser();
}
Но при запросе security->getUser() отвечает NULL
Подскажите куда копать?)
Мне нужны роли авторизованного юзера, чтобы на фронте открыть функционал. Фронт через апи.
в AbstractController есть уже готовый метод getUser()
то же самое NULL,
показывайте свой аутентификатор и security.yaml
security: encoders: App\Entity\Account: algorithm: argon2i providers: database_users: entity: class: App\Entity\Account property: login firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false api: pattern: ^/api/ stateless: true anonymous: true provider: database_users guard: authenticators: - lexik_jwt_authentication.jwt_token_authenticator main: anonymous: true json_login: check_path: /authentication_token username_path: login password_path: password success_handler: lexik_jwt_authentication.handler.authentication_success failure_handler: lexik_jwt_authentication.handler.authentication_failure access_control: - { path: ^/authentication_token, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/api/account_companies, roles: ROLE_USER }
хз зачем вы один и тот же аутентификатор зарегали дважды но! в одном случае (когда префикс роута /api) у вас есть user_provider, во втором его нет
Обсуждают сегодня