引用文章写在前面,表示感谢:
http://www.woshipm.com/pd/877760.html
什么是token
token的意思是令牌,想象一下用过的qq令牌,是来自(腾讯)服务端生成的一串字符,作为客户端(我们自己)进行请求的一个标识。比如说:改qq密码。而这里我们是自己开发App,我们的用户用token请求登录,我们对他进行身份认证。
当用户第一次登录后,服务端生成一个token给用户,用户下次带着token请求干这干那就行,不需要再带密码。想象一下qq、微信每次打开都自动登录了,就是这样。
基于token机制的身份认证
流程你先自己想一下:大概是某人第一次或往后每次重新登录,给某人一个token令牌,你保管好,下次带上令牌出入城门。
流程:
- 客户端使用用户名和密码请求登录。
- 服务端收到请求,验证用户名和密码。服务端收到请求,验证用户名和密码。
- 验证成功后,服务端会生成一个token,然后把这个token发送给客户端。验证成功后,服务端会生成一个token,然后把这个token发送给客户端。
- 客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。
- 客户端每次向服务端发送请求的时候都需要带上服务端发给的token。客户端每次向服务端发送请求的时候都需要带上服务端发给的token。
- 服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。