中易网

为什么 APP 要用 token 而不用

答案:3  悬赏:70  
解决时间 2021-02-07 16:37
为什么 APP 要用 token 而不用
最佳答案
你对 TOKEN 和 SESSION 的理解有误。

SESSION 是服务器通过 Key-Value 对来保存数据的一种机制,比如 APP 的登录状态可以用 SESSION 来保存。

TOKEN 翻译过来叫令牌,令牌是什么意思?可以拿现实中的令牌对比,现实中的令牌起到通行证的作用,而这在服务端也是一样的。我们在登录后,服务端使用 SESSION 保存我们的登录状态,并把 SESSION 的 Key 返回给客户端,那么这个 Key 就成为我们的令牌(TOKEN),我们以后再访问数据,就直接把这个 TOKEN 随着请求一起发送给服务端,这样服务端通过这个 TOKEN 在 SESSION 中查找数据,如果有就说明 TOKEN 有效(就像你去旅游,关口认可你的通行证),并取出你的登录数据,利用你的用户信息(保存在登录数据内)查出你想要的内容。

实际上 TOKEN 的校验会更复杂,上面只是给出一个简单的例子方便理解。
全部回答
session 和 oauth token 并不矛盾,作为身份认证 token 安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击,而session就必须靠链路层来保障通讯安全了。如上所说,如果你需要实现有状态的会话,仍然可以增加session来在服务器端保存一些状态
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来在服务器端保存一些状态
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
今年理科考生河北超三本线38分能上河北工业大
五台山国际青年旅舍这个地址在什么地方,我要
怎样控制手机走流量
这台电脑调到75赫兹好么?损害显示器吗?
东川区新村林场在什么地方啊,我要过去处理事
一个宽带线接两台电脑,没有安装路由器,是一
企业公关有哪些任务
求一个婚礼主题,男方名字中有“俊”“杰”,
万象画室地址有知道的么?有点事想过去
梦见老公买下一捆介菜
上海到雅安的顺丰陆运要多久?注意是陆运。
ACTCMS需要买吗?怎么用的啊?
有没有专业人士可以告诉我f 和t 的一横应该压
嘉怡购物商场在哪里啊,我有事要去这个地方
银行国债发行时间
推荐资讯
635教育学专业基础综合考那些
静海城区出口(前毕庄互通出口西南向)在什么地
庄浪县工商局良邑工商所地址在哪,我要去那里
手指断筋多久好
罗平县阿岗镇法郎村村民委员会地址有知道的么
不学方知愧,无才信是贫.什么意思
国内哪里能买到Opdivo?急急
从本地磁盘传本地磁盘东西时 电脑会卡
白龙潭地址在什么地方,想过去办事
一张身份证能同一时间办两张手机卡吗
老五蔬菜行怎么去啊,有知道地址的么
平安物流配货中心地址有知道的么?有点事想过
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?