一般是用户登陆验证后,服务端返回一个token,然后客户端访问时候通过token来访问,至于token放那里那就是自己组织的问题了。为了安全性一般来说token根据每次登陆场景随机产生
我猜你想要的答案是用 Cookie 保存用户状态信息。
客户端除js外,也包括智能终端
@ddxkj: 啥终端都行,只要是 HTTP 协议。
@Launcher: Cookie不太安全,所以不考虑
@ddxkj: 你对安全了解的太少了,而且对 HTTP 也不熟悉,就算你跟我说什么 OAuth 之类的,我告诉你,跟 Cookie 没有必然关系,你必须启用 HTTPS 才能有足够的安全性,出于性能的考量通常我们只在认证阶段启用 HTTPS,之后拿到 Token 后(用 cookie header来保存或者用 access-token header 都一样)在后续的请求中使用 HTTP。
@Launcher: 好的,谢谢
bu好意思 打断一下 你知道什么是无状态吗
我使用的方式是在header 里面加入access-token
能不能详细点?
我考虑用oauth2.0或hmac算法
@ddxkj: 你用 OAuth 只是完成了认证而已,之后每个独立的请求,你都需要将认证通过后颁发给你的 Token 携带在你的请求中,这个 Token 既可以用 Cookie header 传递,也可以用 access-token header 传递,而且你还可以自己定义一个 header 来保存,甚至你还可以将其作为 content 的内容来传递。用 Cookie header 有个好处,就是浏览器友好。
无状态的交互,如果需要状态信息,那么就需要在每次请求中都携带状态信息,因此我的回答专注于如何在每次请求中携带状态信息,而不是如何去生成这种状态信息,因为我觉得你不懂的地方在于前者。
@Launcher: 好的,谢谢
传递token
能不能详细点?
我考虑用oauth2.0或hmac算法
OAuth
好吧,基本都是OAuth认证。认证通过后,将token存起来,以后发api的时候每次都带上token,token一般是放在headers中的。
谢谢指教