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

时间:2019-02-23 11:20:12

标签: symfony jwt lexikjwtauthbundle

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

我的lexik_jwt_authentication.yaml的内容是:

lexik_jwt_authentication:
    secret_key: '%kernel.project_dir%/config/jwt/private.pem'
    public_key: '%kernel.project_dir%/config/jwt/public.pem'
    pass_phrase: 'jwtpass'
    token_ttl: 7200                            

我在这里使用了文档: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-)生成的全新的公共/私有密钥:

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NTA5MzAzNTIsImV4cCI6MTU1MDkzMzk1MiwidXNlcm5hbWUiOiJwYXJpc191c2VyQGNvbnRhY3QuY29tIn0.bUMkgNnzntDxga7Zz5nb2zAN2RUw5-jmVLPt9SECUxkXAjPBkB4W5vIFpkPKkPDdHL6qngGAq6rdgRxXur63YdnyDkkmE4dHbq9CVT38VvMszBR15TDavGkQxTdlBGDAqkft9pe72U_ipJYbbULYdTH6qvcXILTUOpZXfK2XRMsKFWilRZNQkeg7S-rISBb6VCSf-yEZjikwiNKfcexlrbs4PmfeK7oMYg1aN0JmTtmxQpikaRdbh8pd1wYm-_0mikr_Z9MSS24GYa2jys5q0TKpZMzibYie125faC6CU_63odlAjaIW66ZAeJsdQwiRZtNQzMEmzrfrxWtOhNqYjhM3KfVNR-x4tc5CaHzCWSUtXLOkvqMXCDjc9FIKQbXjA71UzvWwBnmwBlSxE63V6s8aamqG_N7mMUc2J--MxozrBynZmZIDFOT2dsHI6iiVBhgNhfhvhr4yTnW2GTQMPdOfgL-enagimrTUmGLA90h7e8h-osfkhv5qY0Omstqar9BCwzCabnh_j0enf3nmvgWAhc2MHbBlCcUnJYJQzMqdW_Pk9nmNePEetlbyrpVU7y_D_e1IAaafIMp0JJ4d5s6w5r31u0oYqYF3Vqh86Mp1cp99F6BcqBf03VvE1VWKeGATutTPKJfS93LspuDP7OcbJk2P3eG7Sxi2v4Y_gF0

预先感谢

2 个答案:

答案 0 :(得分:4)

我刚刚意识到我定义了自己的令牌创建动作,调用:

$this->get("lexik_jwt_authentication.encoder")->encode(array("username" => $username, "exp" => $expirationTime));

所以没有问题! (唯一的问题可能是在椅子和屏幕之间:))。抱歉,@ AythaNzt仍然感谢您的回复。

答案 1 :(得分:2)

您可能正在生产模式下工作,因此必须清除缓存。

执行:

  • php bin /控制台缓存:清除--no-warmup --env = prod
  • php bin /控制台缓存:warmup --env = prod

或将APP_ENV值更改为dev。