0

我使用 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

但是在我的用户之后,用 调用 put 请求email,我的意思是将电子邮件更改为另一个。更改后,当我调用另一个 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?

4

1 回答 1

0

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

于 2020-06-08T20:48:12.457 回答