关于api接口的开发

第一次发表博客 欢迎大家提出意见

在传统的web网站上,我们通过cookie或者session在记录用户的信息及登陆状态,但是在app上,是没有session跟cookie这个概念的,那么,如果用户在app登陆之后,在进行其他行为的时候,我们如何知道他已经登陆过了呢,此时问题就来了,如何知道用户是否登陆(引入token这个概念)?

1.最简单粗暴的方法,用户登陆之后返回用户id,并且把生成的token存储在服务区,包括并不局限于mysql、redis,客户端每次请求把ID放到token里面传递给后端。

此种方法过于简单粗暴,用了绝对会被打死,作为一名后端永远不要相信前端传过来的任何数据!永远不要相信前端传过来的任何数据!永远不要相信前端传过来的任何数据!这句真理。

2.把用户基本信息加密返回给客户端

此时还会发现一个问题,客户端带着token来,我如何把这个加密后的token给解开呢,这里引入一个加密的概念,有兴趣的可以了解下对称加密与非对称加密。这时还会有个问题,用户只登陆一次是不是以后用户不用登陆了?

3.把登陆时的时间戳加到token里面,用户每次请求判断当前token是否已经过期

关于数据的安全我们可以用https的post请求方式来保证数据的安全性,同时也可以在请求体里加入sign这个参数,我们把请求参数跟token进行加密当作sign的值在发送给后台,后台把接收的数据根据客户端同样的加密规则进行对比,确保数据的安全性.

你可能感兴趣的:(api)