Версия (версии) Symfony : 4.1. *
Описание
Я создал API FOS Rest API в Symfony4 и когда мы обращаемся к APIhttp://127.0.0.1:8000/v1/api/userauthverify, он не будет правильно отвечать за json_login, но он отлично отвечает за приоритеты html.Дайте мне знать, что я пропустил?
Пожалуйста, найдите следующий код: fos_rest.yaml
fos_rest:
param_fetcher_listener: true
allowed_methods_listener: true
routing_loader:
include_format: false
body_listener: true
format_listener:
rules:
- { path: ^/api, prefer_extension: false, fallback_format: json, priorities: [ json ] }
- { path: ^/v1, prefer_extension: false, fallback_format: json, priorities: [ json ] }
- { path: ^/, prefer_extension: false, fallback_format: html, priorities: [ html ] }
versioning:
enabled: true
default_version: v1
view:
view_response_listener: true
sensio_framework_extra:
view: { annotations: false }
security.yaml
security:
encoders:
App\Entity\User:
algorithm: sha512
providers:
# used to reload user from session & other features (e.g. switch_user)
app_user_provider:
id: App\Security\UserProvider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
userAuthenticationVerify:
pattern: ^/v1/api/userauthverify
stateless: true
anonymous: true
json_login:
check_path: /v1/api/userauthverify
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
provider: app_user_provider
api:
pattern: ^/v1/api
stateless: true
anonymous: false
lexik_jwt: ~
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
access_control:
- { path: ^/v1/api/userAuthenticationVerify, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/v1/api, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Как воспроизвести
Когда мы меняем приоритеты как html, получим токен jwt правильно, но изменить на json не получится.
- { path: ^/v1, prefer_extension: false, fallback_format: json, **priorities**: [ html ] }
** Ссылка: ** Symfony4_Json_login