Symfony 4 - Lexik/JwtAuthenticationBundle - Невозможно изменить значение по умолчанию token_ttl
Я пытаюсь изменить значение token_ttl
ограничить в lexik_jwt_authentication.yaml
файл, но независимо от того, какое значение я установил, сгенерированный токен всегда имеет TTL 3600 секунд. Я также установил параметры secret_key
а также public_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.
Есть ли способ изменить TTL токена из файла конфигурации yaml?
Редактировать:
вот пример сгенерированного токена с совершенно новыми открытыми / закрытыми ключами, сгенерированными с использованием документированного метода ( 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 ответа
Я только что понял, что определил свое собственное действие по созданию токена, вызвав:
$this->get("lexik_jwt_authentication.encoder")->encode(array("username" => $username, "exp" => $expirationTime));
Так что нет проблем! (возможно, единственная проблема - между стулом и экраном:)). Извините за это и @AythaNzt спасибо за ваш ответ в любом случае.
Вы, вероятно, работаете в режиме Prod, поэтому вы должны очистить кеш.
Выполнение:
- php bin / console cache: очистить --no-warmup --env = prod
- php bin / console cache: warmup --env = prod
Или измените значение APP_ENV на dev.