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

Api 使用JWT处理用户数据的最佳实践,api,rest,jwt,json-web-token,Api,Rest,Jwt,Json Web Token,我正在通过Json Web令牌(JWT)实现无状态RESTAPI。目前,我想知道将用户数据传递到前端的最佳方法是什么。这些是我需要在前端用户名、电子邮件、角色、全名、描述、个人资料、facebook\u id、twitter\u id、自定义设置\u 1、自定义设置\u 2、自定义设置\u 3、自定义设置\u 4上访问的字段 我看到了两个选项: 在JWT创建过程中,将用户数据添加到JWT负载中。然后在前端解码。尽管我担心如果我添加所有数据,有效载荷会变得相当大 我只能向JWT添加不可更改的字段,

我正在通过Json Web令牌(JWT)实现无状态RESTAPI。目前,我想知道将用户数据传递到前端的最佳方法是什么。这些是我需要在前端
用户名、电子邮件、角色、全名、描述、个人资料、facebook\u id、twitter\u id、自定义设置\u 1、自定义设置\u 2、自定义设置\u 3、自定义设置\u 4上访问的字段

我看到了两个选项:

  • 在JWT创建过程中,将用户数据添加到JWT负载中。然后在前端解码。尽管我担心如果我添加所有数据,有效载荷会变得相当大
  • 我只能向JWT添加不可更改的字段,如
    username、role
    。创建JWT并返回前端后,我从API发送另一个用户数据请求
    我可能也错过了一些东西。因此,想知道使用JWT处理用户数据的最佳方法是什么。

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

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

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

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

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


    我正试图弄明白为什么您需要JWT来完成这项工作。简单的JSON还不够?JWT将用于验证API调用。所以问题是,我应该在JWT中添加用户数据(有什么优点/缺点),还是保留额外的API请求来获取用户数据。请让我知道我的答案是否对您有用。在我的情况下,生成令牌的服务器和接收令牌的服务器是两个不同的实体,位于不同的地理区域,那么我应该如何在令牌中添加数据?