API平台JWT:未找到“GET/API/login”的路由

API平台JWT:未找到“GET/API/login”的路由,jwt,symfony4,api-platform.com,Jwt,Symfony4,Api Platform.com,我成功地安装了API平台,它与我的所有实体都很好地配合。 现在,我尝试使用LexikJWTAuthenticationBundle添加JWT身份验证,但当我发送登录请求时,我得到: 找不到GET/api/login的路由 我的请求: 我正在使用Symfony 4,这是我的安全设置。yaml: 我认为JWT包工作得很好,因为当我尝试访问资源时,我得到: {"code":401,"message":"JWT Token not found"} 我认为这只是一个路由问题,但由于我对Symfony是个

我成功地安装了API平台,它与我的所有实体都很好地配合。 现在,我尝试使用LexikJWTAuthenticationBundle添加JWT身份验证,但当我发送登录请求时,我得到:

找不到GET/api/login的路由

我的请求:

我正在使用Symfony 4,这是我的安全设置。yaml:

我认为JWT包工作得很好,因为当我尝试访问资源时,我得到:

{"code":401,"message":"JWT Token not found"}
我认为这只是一个路由问题,但由于我对Symfony是个新手,我不知道该怎么办

我已经尝试改变模式,检查路径

有什么提示吗

编辑:我在routes.yaml中添加了此选项:

api_login_check:
    path: /api/login
现在我有:

Accept : application/json
Content-type: application/json
找不到路径/api/登录的控制器。路由配置错误

日志中的更多详细信息:

警告 09:40:52 请求无法查找控制器,因为缺少_controller参数

错误 09:40:53 请求未捕获的PHP异常Symfony\Component\HttpKernel\Exception\NotFoundHttpException:找不到路径/api/login的控制器。路由配置错误。

请检查此链接

您必须使用这样的json正文将请求发送到

{用户名:john,密码:doe}

此外,我还建议您阅读如何构建JSON身份验证端点


谢谢

谢谢lvillarino,我已经试过了,但没有成功,但我想我犯了其他错误。。。我又试了一次,因为我确信这是一个好的方向,现在它起作用了

这是我的最终配置,也许它会帮助某人。。。 仅供参考,我正在使用电子邮件/密码作为凭据

安全.yaml

亚马尔酒店

我尝试使用以下url使用Postman登录到我的api:

在标题部分,我有:

Accept : application/json
Content-type: application/json
在身体部分的原始部分:

{
    "email":"john@doe.fr",
    "password":"mypass"
}
令牌已成功生成并正常工作,在进一步的api调用中被接受为承载

更多信息:我在windows上使用PuttyGen生成私钥和公钥时遇到问题,在使用生成的令牌时,我的凭据总是不正确。我必须使用openssl在linux环境中生成它们,现在它可以工作了。
最后一条信息:我使用composer安装了LexikJWTAuthenticationBundle,我使用.env文件中生成的密码来生成密钥,因为在安装过程中没有很好的解释。

我也遇到了同样的问题
Accept : application/json
Content-type: application/json
{
    "email":"john@doe.fr",
    "password":"mypass"
}