mwi*_*ild 7 rest authorization api-design jwt
我正在构建一个 REST API。该 API 运行 JWT 身份验证系统。
显然,这意味着安全的路径需要与授权标头中的请求一起传递有效的 JWT 令牌。在每个 jwt 令牌中我有:
sub: 1 //_id
Run Code Online (Sandbox Code Playgroud)
其中 sub 是当前经过身份验证的用户的 Id。
我的问题是,当我传递这个令牌时,是否还需要在请求正文中传递用户 ID?例如,我有一个创建前提方法。这需要帖子正文包含名称和描述,如下所示:
{
name: "Test Premises",
description: "Lorem Ipsum"
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,API 必须通过验证传递的令牌是否有效来找到用户来关联新的前提,然后对其进行取消编码并检索子字段。
这个方法可以吗?
有什么缺点吗?
我也应该在体内传递 Id 吗?
这个方法可以吗
是的,这就是身份验证令牌的意义所在。
我也应该在体内传递 Id 吗?
如果您允许从客户端发送用户 ID,那么您将面临一个非常大的安全漏洞,例如,另一个经过身份验证的用户如果知道(或欺骗)其 ID,则可以代表另一个用户创建场所。