使用JWT处理用户数据的最佳实践

时间:2016-06-21 12:33:00

标签: api rest jwt json-web-token

我正在通过Json Web Tokens(JWT)实现无状态REST API。目前,我想知道将用户数据传递到前端的最佳方法是什么。这些是我需要在前端username, email, role, full_name, description, profile_img, facebook_id, twitter_id, custom_setting_1, custom_setting_2, custom_setting_3, custom_setting_4

上访问的字段

我看到有两个选项:

  1. 在JWT创建期间,将用户数据添加到JWT有效负载。然后在前端解码它。虽然我担心如果我添加有效载荷会变得非常大的所有数据。
  2. 我只能向JWT添加username, role等不可更改的字段。创建JWT并返回到前端后,我从API发送另一个用户数据请求。
  3. 我也可能在这里遗漏一些东西。所以想知道使用JWT处理用户数据的最佳方法是什么。

1 个答案:

答案 0 :(得分:2)

一旦您使用JWT进行身份验证(我知道您的服务器正在生成客户端需要在每个请求中发送到服务器的身份验证令牌),那么就不要将所有这些细节包含在令牌。

你的第二种方法更有意义:

  

我只能向JWT添加usernamerole等不可更改的字段。创建JWT并返回到前端后,我从API发送另一个用户数据请求。

让您的JWT保持精益,并执行另一个请求以获取用户详细信息。

有关如何设计URL以返回经过身份验证的用户详细信息的详细信息,请查看以下内容: