5分钟搞懂:基于token的用户认证

用户认证

用户认证或者说用户登录是确认某人确实是某人的过程,生活中靠身份证,网络上就要靠账号和密码。用户提供账号和密码,网站通过与数据库中保存的账号与密码比对确认用户身份。

基于token的用户认证

基于token的用户认证原理很简单。让用户输入账号和密码,然后获得一个token(令牌),该token允许用户在不使用账号和密码的情况下访问特定的资源。一旦获得token,用户就获得了在一段时间内对特定资源的访问权限。

这个过程类似酒店开房,在酒店前台认证身份、登记入住,这个步骤相当于网站的登录,然后酒店前台会给你一张房卡/钥匙,这个就相当于获得了一个token,然后拿着这个房卡/钥匙就可以打开特定房间,相当于带着token可以访问某个页面,这个房卡是有有效期的,同样token也是有有效期的。

有了token,访问特定页面,用户就不需要每次都输入账号和密码登录。

当然如果token泄漏了,别人也可拿着这个token冒名顶替,这个和密码泄漏的效果是一样的。

与session认证的区别

本质上来说,token与session认证的过程是相似的。区别之处在于,token认证过程没有依赖session/cookie机制,相反session认证过程必须要在有session/cookie支持的环境下使用,有些移动端的app是不支持cookie的。

优点

优点有很多——例如,服务端无状态有利于做集群等,token已经是互联网项目中用户认证的主流方式。

猜你喜欢

转载自www.cnblogs.com/jinbuqi/p/10347800.html
今日推荐