Symfony JWTToken更改生成字段

时间:2018-02-19 15:06:21

标签: symfony lexikjwtauthbundle

我使用Symfony 3.3.10和"lexik/jwt-authentication-bundle": "~2.0",以及user_identity_field我使用电子邮件

lexik_jwt_authentication:
private_key_path: '%jwt_private_key_path%'
public_key_path:  '%jwt_public_key_path%'
pass_phrase:      '%jwt_key_pass_phrase%'
token_ttl:        '%jwt_token_ttl%'
user_identity_field: email

但在我的用户之后,使用email调用put请求,我的意思是将电子邮件更改为其他内容。在更改之后,当我调用另一个api,示例获取用户配置文件时,我有错误:

{
  "code": 401,
  "message": "Unable to load an user with property \"email\" = \"q@q.com\". If the user identity has changed, you must renew the token. Otherwise, verify that the \"lexik_jwt_authentication.user_identity_field\" config option is correctly set."
}

我理解,因为我更改了电子邮件,哪个部分用于生成令牌,但我认为令牌保存在会话中,并且在更改电子邮件或密码后不需要重新生成令牌。

我的问题如何更改生成令牌字段,例如我想使用一些常量字段,例如id?

1 个答案:

答案 0 :(得分:0)

有没有办法更改消息 “无法加载具有属性\“ email \” = \“ q@q.com \”的用户。如果用户身份已更改,则必须续订令牌。否则,请验证\“ lexik_jwt_authentication.user_identity_field \”配置选项设置正确。”?