gin 重定向 header 缺失怎么回事?

kyl250 · 2020-10-09 21:42:22 · 1893 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2020-10-09 21:42:22 的主题,其中的信息可能已经有所发展或是发生改变。

调试过程

捕获1.PNG

有token

header:

map[Accept:[text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9]

Accept-Encoding:[gzip, deflate, br] Accept-Language:[zh-CN,zh;q=0.9] ** Authorization:[eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjQ2LCJleHAiOjE2MDIyNTM

2NDksImlhdCI6MTYwMjI1MDA0OSwiaXNzIjoic2p5Iiwic3ViIjoidXNlcl90b2tlbiJ9.5UA1BcxUW8lNF5N3RW-zZXJkUc34T1Ale6FCpanQ1LM] ** Cache-Control:[max-age=0] Connection:[keep

-alive] Content-Length:[21] Content-Type:[application/x-www-form-urlencoded] Origin:rage:http://127.0.0.1:8080] Referer:rage:http://127.0.0.1:8080/login]

捕获2.PNG token为空

map[Accept:[text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9]

Accept-Encoding:[gzip, deflate, br] Accept-Language:[zh-CN,zh;q=0.9] Cache-Control:[max-age=0] Connection:[keep-alive] Referer:rage:http://127.0.0.1:8080/login]

捕获3.PNG 路由

求解


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1893 次点击  
加入收藏 微博
8 回复  |  直到 2020-10-12 19:11:12
avtion
avtion · #1 · 5年之前

盲猜前端重定向的时候没有携带Authorization

kyl250
kyl250 · #2 · 5年之前
avtionavtion #1 回复

盲猜前端重定向的时候没有携带`Authorization`头

我没有用前后端分离,没有跨域。是前端也要进行操作吗?没有传递Authorization的方法,让跳转后的页面使用原有的header吗?要怎么解决,我萌新不懂。

kyl250
kyl250 · #3 · 5年之前

能纯后端解决吗

smartwalle
smartwalle · #4 · 5年之前

这个重定向并不是服务器端直接完成的,本质上是服务端收到了客户端发起的请求,然后告诉(响应)客户端需要进行重定向到指定的地址,客户端收到服务端重定向的响应之后,又向新的地址自动发起了一次请求。

smartwalle
smartwalle · #5 · 5年之前

如果是做 API 接口开发,理论上这个登录接口应该返回这个 Token 给客户端,由客户端决定如何进行页面的跳转以及在后续的请求中带上这个 Token ;

如果是做普通的网站开发,即由服端来渲染的 HTML 页面,则应该采用 Session 一类的技术,即在 Session 中存储这个 Token,而不是在请求头中附带这个 Token;

smartwalle
smartwalle · #6 · 5年之前

当然 API 接口也可以使用 Session。

kyl250
kyl250 · #7 · 5年之前
smartwallesmartwalle #5 回复

如果是做 API 接口开发,理论上这个登录接口应该返回这个 Token 给客户端,由客户端决定如何进行页面的跳转以及在后续的请求中带上这个 Token ; 如果是做普通的网站开发,即由服端来渲染的 HTML 页面,则应该采用 Session 一类的技术,即在 Session 中存储这个 Token,而不是在请求头中附带这个 Token;

好的,大概理解了,谢谢大佬

nanjingfm
nanjingfm · #8 · 5年之前

第一张图,你设置的是request的header,应该设置reaponse的header吧

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传