我安装并配置了LexikJWTAuthenticationBundle,它运行良好,但我遇到了一个小问题。
我已经包含了放置JWT令牌的授权按钮,问题是使用以下命令是我拥有令牌的唯一方法:
curl -X POST -H "Content-Type: application/json" http://localhost:8000/api/login_check -d '{"username":"johndoe","password":"test"}'它发送我的令牌,我把它放在API中,好的。
第一个问题:当我和邮递员尝试这个请求时,我得到了一个错误:
无法找到路径"/api/login_check“的控制器。路由配置错误。(404未找到)
请求:使用POST方法的localhost:8000/api/login_check?username=johndoe&password=test
所以卷发是有效的,但不是邮递员,为什么?这是我的security.yaml:
security:
encoders:
App\Entity\User:
algorithm: argon2i
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: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false
register:
pattern: ^/api/register
stateless: true
anonymous: true
api:
pattern: ^/api
stateless: true
anonymous: true
provider: app_user_provider
main:
anonymous: true
access_control:
- { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY }
role_hierarchy:
ROLE_DELEGATION: [ROLE_USER]
ROLE_EXPORT: [ROLE_USER]
ROLE_USER_ADMIN: [ROLE_USER]
ROLE_LIST_ADMIN: [ROLE_USER]
ROLE_IMPORT: [ROLE_USER]
ROLE_MOBILE: [ROLE_USER]
ROLE_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]第二个问题,我想在Swagger中添加登录。如下所示:

我不知道如何做到这一点,我试着在LoginCheckController中添加@ApiRessource(),但是它什么也没做。
需要一些帮助/提示,提前谢谢
发布于 2019-01-27 15:25:45
404消息告诉您,要么没有定义/api/login_check的路由,要么它有配置问题,并且没有找到路由,您应该先找到检查和调试您的路由,看看是否已经定义好了
login_check:
path: /login_check您可能还需要检查这个GitHub问题
稍后编辑:在进一步研究之后,我找到了一个解决这里是Stackoverflow问题的可能方法。
发布于 2019-01-26 18:51:56
只需将防火墙登录放在第一位,在下面的例子中。
https://stackoverflow.com/questions/54380730
复制相似问题