如何解决拦截来自symfony 4.4的login_check路径
我有一个使用symfony 4.4制作的REST API,并且在身份验证过程中遇到了问题。 一切正常,但我遇到的问题是,有时login_check返回401未经授权的用户,而这些用户几天前可以无问题地访问。 我正在使用LexikJWTAuthenticationBundle
安全性:
security:
role_hierarchy:
ROLE_ADMIN: ROLE_ADMIN
ROLE_MANAGER: ROLE_MANAGER
ROLE_CLIENT: ROLE_CLIENT
ROLE_HOST: ROLE_HOST
encoders:
App\Entity\User:
algorithm: auto
providers:
app_user_provider:
entity:
class: App\Entity\User
property: email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/api/login
stateless: true
anonymous: true
json_login:
check_path: /api/login_check
success_handler: app.jwt_authenticator_success_handler
failure_handler: lexik_jwt_authentication.handler.authentication_failure
api:
pattern: ^/api
anonymous: true
stateless: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
main:
anonymous: ~
logout:
path: app_logout
delete_cookies: ['rhsso']
success_handler: logout_handler
# where to redirect after logout
# target: app_any_route
access_control:
- { path: ^/api/login,roles: IS_AUTHENTICATED_ANONYMOUSLY }
我不知道发生了什么。我正在尝试至少记录验证凭证的时间,但是我找不到一种方法来截获login_check路由的代码。我什至不知道该代码在symfony安全性中的位置。 有什么帮助吗? 预先感谢。
解决方法
/ api / login_check路径可能是在/config/routes/jwt.yaml中定义的,或者是在config / routes中的某个路径...
bin/console debug:router api_login_check
可能会或可能不会亮起
如果您运行
bin/console debug:container lexik_jwt_authentication.jwt_token_authenticator
您应该找到要拦截的类。也许您可以深入研究故障处理程序,以找出获得401的原因。如果令牌到期不时发生,则听起来可能是令牌。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。