问题标签 [lexikjwtauthbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
96 浏览

symfony - 使用基本身份验证而不是纯文本正文进行登录检查

我刚刚检查了入门指南LexikJWTAuthenticationBundle,看来您只能在纯文本 JSON 中使用带有用户名和密码的 POST 请求来获取令牌

还有另一种方法可以做到这一点吗?例如,通过使用基本身份验证。这样,凭据就不是人类可读的,并且对于测试/记录/等会更安全。

许多测试工具都提供了 Basic Auth 集成,这在共享测试时很有用。当这些敏感数据必须作为 JSON 请求正文提供时,隐藏这些敏感数据变得更加困难。

0 投票
2 回答
826 浏览

jwt - 创建基于ip地址的JWT认证

我正在使用用户名和密码创建JWT令牌,它将按预期获得 JWT 令牌,但我的用例之一将基于特定 IP 地址创建 JWT 令牌。让我知道有人有解决这个问题的想法吗?

0 投票
2 回答
468 浏览

php - 使用 Sf4 进行 Lexik JWT 身份验证:未捕获的异常:无法找到路径“/login_check”的控制器

我按照 Sf4 沙箱安装 JWT Auth,但我仍然有这个响应:

当我尝试这个命令时:

curl -X POST -H "Content-Type: application/json" http://localhost:8000/login_check -d '{"email":"johndoe@test.fr","password":"test"}'

这是我的 routes.yaml :

这是我的 security.yaml :

我正在使用 PHP7.2 和Symfony 4.2。有人知道如何纠正这个错误吗?

谢谢,

阿德里安

0 投票
1 回答
1365 浏览

symfony4 - Symfony 4.2:LexikJWT:找不到路径“/api/login_check”的控制器。路由配置错误

欢迎来到我的第一个堆栈帖子:)

php 7.2 symfony 4.2 上的问题。这两天我想不通。

尝试通过带有标头 Content-Type application/json 的 POST /api/login_check 访问时,我得到了以下日志。

我的配置:

/routes 中的 jwt.yaml 定义为: api_login_check: path: /api/login_check

帮助将不胜感激:)

0 投票
2 回答
5051 浏览

symfony - 如何使用 API PLATFORM(symfony 4)将登录添加到招摇 UI?

我安装并配置了 LexikJWTAuthenticationBundle,它工作正常,但我遇到了一个小问题。

我已经包含了用于放置 JWT 令牌的授权按钮,问题是我可以获得令牌的唯一方法是使用以下命令:

它发送我的令牌,我把它放在 API 中,好的。

第一个问题:当我用 POSTMAN 尝试这个请求时,我得到一个错误:

找不到路径“/api/login_check”的控制器。路由配置错误。(404 未找到)

请求:localhost:8000/api/login_check?username=johndoe&password=test with POST 方法

所以使用 curl 它可以工作,但不能使用 POSTMAN,为什么?这是我的security.yaml:

第二个问题,我想在 Swagger 中添加登录。像这样: 大摇大摆的登录

我不知道该怎么做,尝试在 LoginCheckController 中添加 @ApiRessource() 但它什么也没做。

需要一些帮助/提示,​​在此先感谢

0 投票
3 回答
2395 浏览

php - 错误:找不到路径“/login_check”的控制器。路由配置错误。(LexikJWTAuthentication)

描述

当我对运行在其上的 symfony 服务器发出正常请求时,http://localhost:8000/api/admin/login_check它会返回所需的 jwt 令牌。

但是,当我使用功能测试(使用./bin/phpunit)执行此操作时,出现以下错误:

错误:找不到路径 \"/api/admin/login_check\" 的控制器。路由配置错误。

我还浏览了功能测试文档

错误重现

不要犹豫,克隆或分叉这个项目进行测试。有 README.md 解释安装步骤。

通过克隆 lexikjwtauthenticationbundle 的创建者之一提供的工作示例,我还能够重现该错误。

日志

测试日志(错误)

运行时出现./bin/phpunit

开发日志(成功)

在执行 curl 或 postman 请求时发生

相关代码:

测试方法:

路线:

安全:

问题

为什么在功能测试期间有一条404 route not foundfor/api/admin/login_check路线,但在 curl 和 postman 中运行良好?

Github #610

0 投票
1 回答
1413 浏览

symfony - 如何使用用户名或电子邮件实现身份验证

我在我的应用程序中为 symfony 2.8 实现了 lexik jwt 包,我试图通过用户登录或电子邮件使用它,但我无法以任何方式做到这一点。

该捆绑包可以正常工作,但我无法将其配置为能够通过电子邮件或用户名进行身份验证,并且我还没有找到如何通过文档或互联网进行身份验证的示例。

我的代码就像文档显示一样,我尝试从 JWTTokenValidator 扩展来实现它,但我无法接近。

如何配置它以通过电子邮件或用户名和密码实现用户身份验证?

0 投票
1 回答
466 浏览

symfony - 是否需要为每个请求/响应更新 JWT 令牌中的 CSRF 令牌?

我正在开发一个使用 symfony 和 JWT 令牌进行身份验证的 Web 应用程序。为了防止 XSS,JWT 令牌存储在具有 HttpOnly 属性的 cookie 中。为了防止 CSRF,我使用了随机的 csrf 令牌。此令牌存储在 cookie 和 JWT 令牌(加密)中。我想知道的是,是否有必要在每个响应中更新 csrf 令牌?什么是最好的实现?

这是我的详细设置:

  • 我们有一个单页应用程序。大多数请求将使用 ajax 发送。
  • 用户使用 POST 进行身份验证。
  • 成功验证后,服务器将生成随机 csrf 令牌,然后将其存储在 cookie (HttpOnly) 和 JWT 有效负载中。在存储在 JWT 有效负载中之前,csrf 令牌将被加密。
  • JWT token 编码后会存储在cookies中(HttpOnly)
  • 每次用户请求访问另一个页面时,服务器将在 JWT 令牌解码时验证 cookie 和 JWT 令牌中的 csrf 令牌。
  • 未使用 LocalStorage,因为它可以通过 javascript 访问
0 投票
0 回答
144 浏览

symfony-2.8 - JWT Token 总是返回 Not Found Symfony2.8

嗨,我已经用 Symfony2.8 配置了 lexik/jwt-authentication-bundle:v2.4,以下是我的 config.yml。

这是security.yml

我正在尝试使用邮递员获取 JWT 令牌。

http://localhost/j1/web/app_dev.php/api/login_check

我得到了令牌。

}

我正在发送令牌以验证令牌。

http://localhost/j1/web/app_dev.php/api/locationData/8489

授权:Bearer {token} 与使用邮递员的请求。但我总是得到 JWT Not Found 的结果。

所以我用 JWTTokenAuthenticator 调试了代码,我发现它在请求中正确获取了 Authorization 标头,但是以下方法不会返回令牌。

在这里,这总是返回 false。怎么办可以请任何人指导我。

提前致谢。

0 投票
2 回答
2527 浏览

symfony - Symfony 4 - Lexik/JwtAuthenticationBundle - 无法更改 token_ttl 默认值

我尝试将token_ttl限制的值更改为lexik_jwt_authentication.yaml文件,但无论我设置的值如何,生成的令牌始终具有 3600 秒的 TTL。我还设置了参数secret_keypublic_key并且它们被正确解释。

我的内容lexik_jwt_authentication.yaml是:

我在这里使用了文档:https ://github.com/lexik/LexikJWTAuthenticationBundle/blob/master/Resources/doc/1-configuration-reference.md#full-default-configuration 。

有没有办法从 yaml conf 文件中更改令牌 TTL?

编辑:

这里是使用记录的方法生成的带有全新公钥/私钥的生成令牌的示例(https://github.com/lexik/LexikJWTAuthenticationBundle/blob/master/Resources/doc/index.md#generate-the-ssh-keys - ) :

提前致谢