关于POSTMAN中的一些session和csrf_token验证问题

新手上路,请多包涵
  • 我这里是想调用自己部署的superset的接口,然后要模拟登录,先拿token,然后拿csrf_token
  • csrf_token的响应头里带有Cookie: session=eyJjc3JmX3Rva2VuIjoiMzk4ZGE0MzdmNjc3YjgyMDUxNzQxYzNmZThlODA3YTM0MzM0NjdhNCJ9.YhWNzQ.Qwno6zWEUYcpSjatBc3wA7dkmOo; HttpOnly; Path=/; SameSite=Lax (就是类似e开头的token)
  • 最后调用模拟登陆接口,请求头里带上面这个Cookie,请求体里带用户名密码和csrf_token,用POSTMAN请求,可以模拟登录成功,且响应头里会返回全新的Cookie: session=.eJwlz0mKQkEQBNC71NpFDTlUeZlPVg7YtCj8rxvFu3dJLwPiQcQ7bbH7cUnnx_70U9p-LJ0TDOvEsxQB1VaJhLTlZh5QslTwPlAyNC8ezXLgHGQsxQdb4Fd3XlxV0EIaj44AAUiELlR7USYeFB4KGIE-oFuwY2m1d_V0SnrssT3uv3777uEAyzNCVnnyMAf3qjp6FQqsea69dfblrneVqy_zuqz0PHz_v1TS5w-ApURn.YhWYEg.oo_bLZdcc5_iH214fufM-PQaykM
  • 这个Cookie-session的值特点是点号开头,之后有这个cookie,浏览器就判断是登录状态了,很多接口就可以调用。
  • 关键是,这个步骤,我在POSTMAN和浏览器都可以成功,但是唯独在IDEA代码里无法成功,就算把代码里执行到第二步返回的csrf_token和cookie放在清缓存后的POSTMAN中也能生效,请问各位POSTMAN执行这最后一步调用做了什么额外的事情吗?还有这个session的生成机制是什么规范吗?
    image.png
    image.png
阅读 2.6k
1 个回答

响应里 Set-Cookie 头的数据 和 请求头的 Cookie 的格式不一样,可能不能直接用
HTTP库的debug日志打开,应该能看到发的请求详情,和postman里的比对一下找一下哪里不同

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题