【发布时间】:2021-02-15 22:31:55
【问题描述】:
我目前有以下配置, 从外部消费者发送令牌时,端点 /api 工作正常。
但我现在想在使用会话的应用程序中使用 ajax 重用此模式 ^/api。如何将防火墙配置为在无状态或会话中为我工作?
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
App\Entity\User\User:
algorithm: bcrypt
role_hierarchy:
ROLE_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
app_user_provider:
entity:
class: App\Entity\User\User
property: username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
logout:
pattern: ^/api/logout
stateless: true
anonymous: true
logout:
path: app_logout
success_handler: "app.webservice_logout_success_listener"
api:
pattern: ^/api
stateless: true
anonymous: true
provider: app_user_provider
json_login:
check_path: /api/login_check
username_path: username
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
admin:
context: user
switch_user: true
pattern: ^/
anonymous: ~
provider: fos_userbundle
form_login:
login_path: admin_login
check_path: admin_login
default_target_path: easyadmin
failure_path: admin_login
logout:
path: /logout
target: /login
【问题讨论】:
-
您可以配置服务以匹配防火墙的请求:symfony.com/doc/current/security/…。
标签: symfony api-platform.com lexikjwtauthbundle