gpt4 book ai didi

php - LexikJWTAuthenticationBundle | JwtToken 正在工作,但身份验证显示 "Full authentication is required to access this resource."

转载 作者:行者123 更新时间:2023-12-04 10:46:11 25 4
gpt4 key购买 nike

我的 token 登录工作正常,但如果我尝试知道我是否通过我的路线完全登录:

用户 Controller .php

/**
* @Route("/auth/me", name="userIsAuthenticated")
*/
public function authenticated()
{
return new Response(':-)', Response::HTTP_OK);
}

它只是显示

Symfony\Component\HttpKernel\Exception\HttpException: Full authentication is required to access this resource.



我发现在 StackTrace 中只有“symfony\security-http\Firewall”出现,而 Lexik 没有?

我还尝试了 jwt.io,如果 token 有效并且它全部有效。

安全.yaml
security:
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: ^/auth
stateless: true
anonymous: true
json_login:
check_path: /auth
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure


api:
pattern: ^/
stateless: true
provider: app_user_provider
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator

access_control:
- { path: ^/auth/me, roles: IS_AUTHENTICATED_FULLY }

最佳答案

问题是我的/auth/me 路由将使用/auth 防火墙。/auth 防火墙在配置中没有 lexik 身份验证器。

我只需要改变 ^/auth^/auth$一切都很好。

$ 符号可防止防火墙为以下所有内容工作

/auth/me
/auth/example
/auth/anotherexample
...

它只使用精确匹配 /auth路线 :-)

关于php - LexikJWTAuthenticationBundle | JwtToken 正在工作,但身份验证显示 "Full authentication is required to access this resource.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59695638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com