第三方登录token不怕被别人拿走冒充登录吗?

比如登录的时候浏览器开发者工具看到登录成功换取的token,有这个token了,如果别人知道了,不就可以拿着这个token冒充我去做登录后的其他任何操作吗?即使有效期2小时,2小时内不是也能做很多操作吗?这种安全如何保障呢?

阅读 10.2k
5 个回答

这个是要算成本的
获取token有成本
token在对应站点怎么使用
有哪些接口可供我调用
要在过期时间内使用
还有最后兜底的 敏感操作要走二次确认
以上成本保证了安全性

用开发都工具能看到token就说明别人很容易拿到么,用开发者工具也能看到cookie不是?
正常走https一般没什么问题,但你网站有xss漏洞就另说了

这种情况只能保护好自己的设备;在陌生设备上用完后退出自己的账户!

所以每个网站应用都有【安全退出】的功能呢!

电脑就相当于密码。你都把密码给别人了,你还想要啥安全。任何网站获取了token都可以直接进行登录。就相当于你用指纹解锁,结果别人都有了的指纹了。

能看到别人浏览器,都不用token,加入你在浏览器存储了密码自动填写,直接打开把密码框的类型改为text,密码就显示出来了。

一般来说做第三方登录时,与token配合的还有个scope参数,它定义了这个拿到的token可以用来干什么。

比如这是微博的OAuth接口说明

image

它的scope也有相关说明

image

其它的提供第三方登录服务接口的网站比如微信,Google,Facebook等等也大同小异。如果网站登录的时候不设置scope参数,那么它拿到的token就只能用来读取一些最基本的信息,比如用户id什么的。如果要实现向你所说的干其它事情就需要额外去申请scope,然后一般你在跳转到授权页面的时候就会看到网站额外申请的权限,如果你不放心的话,可以把这些权限取消即可。