为什么 APP 要用 token 而不用
答案:3 悬赏:70
解决时间 2021-02-07 16:37
- 提问者网友:浪子生来ˇ性放荡²↘
- 2021-02-06 21:24
为什么 APP 要用 token 而不用
最佳答案
- 二级知识专家网友:一只傻青衣
- 2021-02-06 23:03
你对 TOKEN 和 SESSION 的理解有误。
SESSION 是服务器通过 Key-Value 对来保存数据的一种机制,比如 APP 的登录状态可以用 SESSION 来保存。
TOKEN 翻译过来叫令牌,令牌是什么意思?可以拿现实中的令牌对比,现实中的令牌起到通行证的作用,而这在服务端也是一样的。我们在登录后,服务端使用 SESSION 保存我们的登录状态,并把 SESSION 的 Key 返回给客户端,那么这个 Key 就成为我们的令牌(TOKEN),我们以后再访问数据,就直接把这个 TOKEN 随着请求一起发送给服务端,这样服务端通过这个 TOKEN 在 SESSION 中查找数据,如果有就说明 TOKEN 有效(就像你去旅游,关口认可你的通行证),并取出你的登录数据,利用你的用户信息(保存在登录数据内)查出你想要的内容。
实际上 TOKEN 的校验会更复杂,上面只是给出一个简单的例子方便理解。
SESSION 是服务器通过 Key-Value 对来保存数据的一种机制,比如 APP 的登录状态可以用 SESSION 来保存。
TOKEN 翻译过来叫令牌,令牌是什么意思?可以拿现实中的令牌对比,现实中的令牌起到通行证的作用,而这在服务端也是一样的。我们在登录后,服务端使用 SESSION 保存我们的登录状态,并把 SESSION 的 Key 返回给客户端,那么这个 Key 就成为我们的令牌(TOKEN),我们以后再访问数据,就直接把这个 TOKEN 随着请求一起发送给服务端,这样服务端通过这个 TOKEN 在 SESSION 中查找数据,如果有就说明 TOKEN 有效(就像你去旅游,关口认可你的通行证),并取出你的登录数据,利用你的用户信息(保存在登录数据内)查出你想要的内容。
实际上 TOKEN 的校验会更复杂,上面只是给出一个简单的例子方便理解。
全部回答
- 1楼网友:哥在撩妹请勿打扰
- 2021-02-07 00:57
session
和 oauth token 并不矛盾,作为身份认证 token
安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击,而session就必须靠链路层来保障通讯安全了。如上所说,如果你需要实现有状态的会话,仍然可以增加session来在服务器端保存一些状态
- 2楼网友:猎杀温柔
- 2021-02-07 00:25
app通常用restful api跟server打交道。rest是stateless的,也就是app不需要像browser那样用cookie来保存session, 因此用session token来标示自己就够了,session/state由api server的逻辑处理。
如果你的后端不是stateless的rest api, 那么你可能需要在app里保存session. 可以在app里嵌入webkit,用一个隐藏的browser来管理cookie session.
session 和 oauth token 并不矛盾,作为身份认证 token 安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击,而session就必须靠链路层来保障通讯安全了。如上所说,如果你需要实现有状态的会话,仍然可以增加session来在服务器端保存一些状态
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯