14

我正在通过 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

我看到了 2 个选项:

  1. 在 JWT 创建期间,将用户数据添加到 JWT 有效负载。然后在前端解码。虽然我担心如果我添加所有有效载荷会变得非常大的数据。
  2. 我只能username, role向 JWT 添加不可更改的字段。在创建 JWT 并返回到前端之后,我从 API 发送另一个用户数据请求。

我可能也会在这里遗漏一些东西。所以想知道使用 JWT 处理用户数据的最佳方法是什么。

4

1 回答 1

3

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

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

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

保持 JWT 精简并执行另一个请求以获取用户详细信息。

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

于 2016-06-21T12:49:34.027 回答