1
learnshare 2016 年 11 月 4 日
token 保存在本地, cookie 是一个简单的位置
|
2
liuxey 2016 年 11 月 4 日
浏览器不会把 token 自动加到请求里,因为这是你自己创建的东西,不属于 HTTP 协议的一部分,如果是为了学习,可以这么干,如果是为了使用,那完全没必要;
ajax 可以统一添加自然好,那页面中的各种 url 地址你必须要手动加上去,比如:<a href="/xxx.html?token=${token}">,你也可以想一些“聪明”的办法,让你更方便的加 token 在后面。 总之就是麻烦; |
4
ericls 2016 年 11 月 4 日 via iPhone
不是 single page app ?
|
6
liuxey 2016 年 11 月 4 日
|
7
paranoiagu 2016 年 11 月 4 日 via Android
为什么不用 cookie 呢?
|
9
paranoiagu 2016 年 11 月 4 日 via Android
basic authorized 是在 http 头的。
|
10
zjsxwc 2016 年 11 月 4 日
业内常用做法是让客户端模拟浏览器发送 http 请求,也就 shi 一律都用 cookie ,也就不用你说的 token 了
|
12
ericls 2016 年 11 月 4 日 via iPhone
Token 要取代的是 session 不是 cookie
|
14
Phant0m 2016 年 11 月 4 日
token 存储在本地的 local storage 里
|
15
aprikyblue 2016 年 11 月 4 日
拿 token 放在链接里小心 http referer 头的安全性问题。。
|
16
pynix 2016 年 11 月 4 日
不是 spa 你搞什么 token
|
18
ichou 2016 年 11 月 5 日 via iPhone
用 header 头里的 authorized 字段是可以解决楼主的问题的
|
19
microchang 2016 年 11 月 5 日 via Android
直接用 jquery 的 ajax 代理所有的 a 标签的网络请求,然后你想怎么玩就怎么玩了
|
20
freestyle 2016 年 11 月 5 日
写个 js 函数,给网页上所有的 a 标签 href 属性加上 token.
https://gist.github.com/hanjm/2102fa5b40d01d0fe64311e37f4d3557 |
22
wanganjun OP @microchang 你说的代理 <a> 的请求是这样吗
$('a').click(function () { window.open(this.href, this.target || '_self'); return false; }) 按这个代码也只能把 token 放到 url 里面 |
23
ichou 2016 年 11 月 6 日 via iPhone
参考 jwt auth
|
24
garrydzeng 2016 年 11 月 6 日
@wanganjun
看起来只能这样: 1. 往 document 对象监听 click 事件,捕获所有 a 标签的 2. 检查是否请求自己的地址 3. 改用 AJAX 添加请求头然后发送请求 另外 ichou 说的是 Authorization 请求头 详见 RFC7235 ( https://tools.ietf.org/html/rfc7235 ) |
25
lianxiaoyi 2016 年 11 月 7 日 via Android
最近为毛那么多地址癖!最好地址栏什么都不带,但是又能满足我所有的参数!可能麽?
|
26
wanganjun OP @garrydzeng 如果 ajax 请求回来一个 html 文件该怎么办呢
|
27
wanganjun OP @garrydzeng 我试了一下, document.write 可以覆盖页面, 但是地址栏没变, 也没办法点后退按钮回到上一个页面, 看来还是要把 token 放到 query 里面
|
28
garrydzeng 2016 年 11 月 8 日
|
29
XisucksYi 2020 年 8 月 31 日
|