为啥认证 token 信息要放 HTTP header 里面呢?啥时候开始流行这种认证方式的

2018-08-09 22:30:09 +08:00
 lvlv

搜索“ token 放 header ” 看到的大都是 2017-2018 的,以前不是认证信息都放 cookie 吗?如果因为 cookie 不安全,cookie 可以设置 same-site 防止 CSRF 攻击,可以设置 httpOnly 防止 cookie 劫持类攻击,如果说用户有可能禁止 cookie,不是有那种“本网站需要开启 cookie ”的提示吗?

12879 次点击
所在节点    问与答
31 条回复
geekcorn
2018-08-09 22:32:05 +08:00
三楼觉得这个如何解释比较好...
agagega
2018-08-09 22:33:10 +08:00
不太明白你的意思,Authorization 字段不是 HTTP 本来的一个用法么
lianyue
2018-08-09 22:38:11 +08:00
1. 支持跨域 跨域储存
2. Authorization 字段本来就是用来认证的
lvlv
2018-08-09 22:41:37 +08:00
@lianyue 那非 Ajax 请求怎么自动带上这个字段,比如静态资源类请求,毕竟登录之后每个请求都要带上这个认证信息
@agagega 之前不都是 sessionID 放 cookie 的吗
yangqi
2018-08-09 22:44:43 +08:00
为什么不呢?
lianyue
2018-08-09 22:45:08 +08:00
Authorization 字段一般 是 api 通讯 前后端分离 结构
请求 静态资源为什么 要带上这个
mgcnrx11
2018-08-09 22:50:24 +08:00
客户端不是浏览器就没有 cookie 了呀
shapl
2018-08-09 22:53:23 +08:00
举个例子,小程序。
CODEWEA
2018-08-09 22:53:44 +08:00
不仅是认证 校验 ajax 成功与否也是利用 header
moult
2018-08-09 22:54:24 +08:00
A 公司:我看 B 公司的产品是这样的,我也就这样了。
B 公司:我看 C 公司的产品是这样的,我也就这样了。
C 公司:???我觉得这样搞比较好看。!!
lvlv
2018-08-09 22:55:33 +08:00
@lianyue 没有通过登录认证的用户不给他网站的静态资源的这种需求应该比较正常吧?
lvlv
2018-08-09 22:56:47 +08:00
@shapl
@mgcnrx11
好吧,我目前做过的都是需要用浏览器的
StevenTong
2018-08-09 22:59:57 +08:00
现在手机 APP 普及了,api 放 cookie 吗?用 Authorization 做 Authenticate 很合适呀
lvlv
2018-08-09 23:06:29 +08:00
@CODEWEA 这个是什么意思?没有看明白,Ajax 成功与否不是看`ajax.readyState==4 &&ajax.status==200` 吗?
Zzdex
2018-08-09 23:11:48 +08:00
小程序就不支持 cookie
lvlv
2018-08-09 23:14:44 +08:00
@Zzdex
@shapl
好吧,楼主没做过小程序
crab
2018-08-09 23:19:09 +08:00
主要还是跨域问题吧
gamexg
2018-08-09 23:24:31 +08:00
>没有通过登录认证的用户不给他网站的静态资源的这种需求应该比较正常吧?

@lvlv 这种很少见 cookie 限制的,老方案是普通资源不登陆不提供地址。非法用户猜到地址就可以下载。
比较重要的资源是真实地址不可访问,直接可访问的是 php 部分,php 验证后通过 nginx 内部重定向到实际文件。这个倒是依赖 cookie。

现在很多都是使用的对象储存,静态资源在独立域名,真需要限制在 1url 追加签名的比较多。
CloudnuY
2018-08-09 23:25:32 +08:00
移动端 包括小程序这两年发展导致的吧
34C
2018-08-10 02:24:24 +08:00
楼主是多久没有接触现代化前端了… 是不是还在用 jQuery 那种…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/478430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX