php用token做登录认证

时间:2024-05-20 19:18:10

1.前端传账号密码给后端

2.后端将账号密码作处理加密生成token,并返回给前端

3.前端将token存入缓存,在每次请求时,在header或url中将token传给后端

4.将前端传来的token与数据库账号密码生成的token作比对,相等则成功。

 

实现登录状态保持与身份认证的方式通常有两种:session结合数据库、token。

两者相比较,token有较多优点。

① token可以存储在任何位置(比如cookie或local storage)

② token更容易跨域

③ token过期时可以通过刷新token,让用户一直保持有效登录

④ 如果api在不同终端上,token更方便安全


php用token做登录认证

其过程大致如下:

① 用户首次登录,将输入的账号和密码提交给服务器

② 服务器对输入内容进行校验,若账号和密码匹配则验证通过,登录成功,并生成一个token值,将其保存到数据库,并返回给客户端

③ 客户端拿到返回的token值将其保存在本地(如cookie/local storage),作为公共参数,以后每次请求服务器时都携带该token(放在响应头里),提交给服务器进行校验

④ 服务器接收到请求后,首先验证是否携带token,若携带则取出请求头里的token值与数据库存储的token进行匹配校验,若token值相同则登录成功,且当前正处于登录状态,此时正常返回数据,让app显示数据;若不存在或两个值不一致,则说明原来的登录已经失效,此时返回错误状态码,提示用户跳转至登录界面重新登录

⑤ 注意:用户每进行一次登录,登录成功后服务器都会更新一个token新值返回给客户端