postman解决session验证问题,试用验证码校验,带登录状态的请求

       在测试后端接口时,我们经常会遇到某个接口是需要权限才能访问,如登录后才能访问,那postman如何模拟已登录的状态呢?再者,如果我们在做注册模块时,后端验证码生成并通过邮箱或短信发送给用户后,必然会将验证码存入session,这是一个接口;当用户点击注册时,我们需要验证用户输入的验证码是否正确,这是另一个接口。那如何通过postman时在测试两个接口时用的是同一个验证码?以上都是session共享问题。

     我们知道,在浏览器第一次访问服务器时,服务器会创建一个新的sesion,并且把session的Id以cookie的形式发送给客户端浏览器,称为jsessionid。如图

方法一:

如果我们将jsessionid做为header的一部分,请求另一个接口时带上,那么就能使两次请求视为是同一个客户操作。在解决登陆问题时,我们可以先用postman进行登录接口的请求(或者通过浏览器请求获取),将得到的就jsessionid作为头部,就能进行其他带用户权限的接口访问了。验证码操作也是如此,本文的重点不在此,详细步骤可参见https://blog.csdn.net/zdj18166896501/article/details/85121211

方法二:

我在运用方法一时,postman一直获取不到jsessionid,如图:

经过上网查找发现很有可能是cookie被禁用了。但我在返回的Headers中发现了Token参数,

一想到Token也能作为身份校验手段,(session与token区别https://blog.csdn.net/qq_1290259791/article/details/81193914),就抱着试试看的心态把Token放入headers中

果然,后端将两次访问识别为同一用户,成功从session中取出验证码,比对成功,

仔细看会发现,上图中的Headers不再是4个参数,而是只有3个参数,点开发现这次后端就没有再返回token了。

此时,我们可以用之前获取到的token进行多个接口的访问,均会被视为是同一用户。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值