api 使用session替代token 的利弊在哪？
补充：几种常用的验证机制
 最近写app的api，使用laravel 框架的session替代了传统的存贮到数据库的token作为校验登录用户的方法！
以下是我们目前的做法
登录后后台生产session，会往返回信息head头里写一个set_cookie
ios和安卓 会从head头里得到拿到这个cookie的东西
然后再请求需要登录的地方的时候，ios和安卓会把cookie放到head头里，让框架完成自我的校验
ps:
有人说不安全
有人说不好管理
有人说性能问题
有谁具体研究过，请帮我分析分析其利弊
我个人认为的观点：
说session不安全的，感觉有点牵强，假如真的一点不安全的话，那网站也就完全被暴露了，而且laravel的session也是有自己加密的方式，不是直接暴露的！
有人说不好管理，放在redis里了，我不太知道不好管理在哪里。
性能问题，session可以存贮的位置有很多，mysql，文件，redis，我觉得性能也不是问题。我也不知其弊端在哪里，
有谁具体研究过，请帮我分析分析其利弊
也请大家有想法的各抒己见，我们一起讨论下
在存储过等同的情况下，在只是简单运用上，我只能说session与token没有本质的区别，二者不都是一串被加密过的字符串，拿他来做校验都一样。
以上，是因为你把token拿来当作用户是不是当事人做这么一个简单的校验的情况下。
当然，如果我们抛开一些比较极端的操作，token比session也有很大的区别：
- token可以存在任何位置（cookie、local storage）
- token比session更容易跨域。
- CORS预检查时token比较更简单。
- token有更多的控制权，比如当token过期时，你可以拿通过刷新token，让用户一直保持有效登录。

token可以存在任何位置（cookie、local storage）
token比session更容易跨域。
CORS预检查时token比较更简单。
token有更多的控制权，比如当token过期时，你可以拿通过刷新token，让用户一直保持有效登录。
等……其实如果你只是单纯拿着token做一下自己网站内用户登录检验的话是无太多区别的。
但假如token指的是OAuth Token提供认证和授权这类机制的话，那么就可以把session甩开N条街了，甚至是已经完全是两种不同的概念。
假设有这么一个场景，你们用户在你们网站产生的订单，而另一家公司是专业ERP公司；而你的用户希望他的订单同时授权给这家ERP公司使用的情况下，难道你希望用户拿在你家网站的用户名和密码给这家ERP公司吗？
这时候OAuth Token就有意义了，OAuth Token的授权大概是这样的：
- ERP需要调用我们提供的登录界面。
- 用户输入用户名和密码后，我们再向ERP发送一个TOKEN。
- ERP拿TOKEN换数据。

ERP需要调用我们提供的登录界面。
用户输入用户名和密码后，我们再向ERP发送一个TOKEN。
ERP拿TOKEN换数据。
总之，如果你只是在自己网站内部上使用二者没有什么太多区别。而如果你的API是在不同终端上使用，token会更方便。