Я работаю над проектом symfony 4: я создал документированный API с платформой API, API предоставляет данные для использования извне, и теперь я хочу добавить панель управления для администрирования. Маршруты API защищены пакетом jwt lexik, и я сгенерировал symfony authenticator.
Мой файл security.yaml:
security:
encoders:
App\Entity\AppUser:
algorithm: auto
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
# used to reload user from session & other features (e.g. switch_user)
app_user_provider:
entity:
class: App\Entity\AppUser
property: email
# used to reload user from session & other features (e.g. switch_user)
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
stateless: true
anonymous: true
provider: app_user_provider
json_login:
check_path: /authentication_token
username_path: email
password_path: password
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
- App\Security\LoginFormAuthenticator
entry_point: lexik_jwt_authentication.jwt_token_authenticator
logout:
path: app_logout
# where to redirect after logout
# target: app_any_route
refresh:
pattern: ^/token/refresh
...
access_control:
....
- { path: ^/administrator, roles: IS_AUTHENTICATED_FULLY }
Я хочу использовать оба: токен jwt и symfony Аутентификатор, чтобы иметь возможность управлять ролью администратора и добавить систему администрирования для обработки данных для моего проекта. Теперь, когда я открываю URL:
http://my-project/administrator
, я получил это сообщение:
{"code":401,"message":"JWT Token not found"}