如何在VSCode REST Client中复用POST返回的JWT Token?
实现VSCode REST Client自动复用JWT Token的两种方案
方案一:直接跨文件引用登录请求的返回值(无需修改环境变量)
这种方式不用手动更新settings.json里的authToken,直接复用登录请求的缓存结果:
- 确保登录请求已正确命名(你已在
auth.http中完成这步):
# Login # @name tokenAPI POST {{baseUrl}}/login HTTP/1.1 Content-Type: application/json { "Username": "myuser", "Password": "mypassword" }
- 修改
user.http里的GET请求,直接引用tokenAPI的返回token:
GET {{baseUrl}}/User Authorization: Bearer {{tokenAPI.response.body.token}}
注意:必须先运行一次tokenAPI登录请求,让REST Client缓存返回结果,后续的GET请求才能正常获取到token。token过期后,重新运行登录请求即可更新缓存。
方案二:自动更新环境变量中的authToken(持久化复用)
如果希望token持久化,或多个请求文件统一使用{{authToken}}变量,可以自动将登录返回的token写入环境变量:
- 在
auth.http中添加变量赋值和环境变量设置命令:
# Login # @name tokenAPI POST {{baseUrl}}/login HTTP/1.1 Content-Type: application/json { "Username": "myuser", "Password": "mypassword" } ### # 提取token并设置到当前激活的环境变量 @authToken = {{tokenAPI.response.body.token}} > rest-client.setEnvironmentVariable authToken {{authToken}}
- 操作步骤:
- 先运行登录请求,确保成功返回token;
- 再运行下方的命令块(点击代码块上方的「Send Request」按钮),
authToken会自动更新到当前激活的环境(比如local、docker); - 之后
user.http里的原有请求无需修改,直接使用{{authToken}}即可获取最新token。
关键注意事项
- 命名请求的作用域是当前工作区,确保所有请求文件都在同一个VSCode工作区内;
- 方案一中,token过期后重新运行登录请求即可更新缓存;
- 方案二中,切换环境(比如从local切到docker)后,需要重新运行登录和设置命令,更新对应环境的
authToken。
内容的提问来源于stack exchange,提问作者Pipo
相关产品推荐
相关产品推荐

