app与php后台接口登录认证、验证(seesion和token)
2016-12-28 23:19
1156 查看
[b]简要:[/b]随着电商的不断发展,APP也层次不穷,随着科技的发展主要登录形式(微信、QQ、账号/密码);为此向大家分享一下"app与php后台接口登录认证、验证"想法和做法;希望能够帮助困惑的伙伴们,如果有不对或者好的建议告知下;*~*!
方案,客户端登录成功后, 服务器为其分配seesionId和token, 客户端每次请求资源时都带上sessionId和token验证,当sessionId失效带上token重新获取sessionId从而获取相应资源;
1.1 登录状态seesionId
登录状态指,客户端登录情况(登录中,未登录);简单登录流程如下:
1 、客户端向服务器第一次发起登录请求(不传输用户名和密码)。
2、服务器利用RSA算法产生一对公钥和私钥。并保留私钥, 将公钥发送给客户端。
3、客户端收到公钥后, 加密用户密码, 向服务器发起第二次登录请求(传输用户名和加密后的密码)。
4、服务器利用保留的私钥对密文进行解密,得到真正的密码。
登录成功后,服务器在session中分配一个Id记录客户端访问状态;
1.2 身份验证token
token就是令牌,最大的特点就是随机性,不可预测;从上面流程可知,单单一个sessionId判断用户的登录状态及身份并不可取;为此需要token进行身份审核;并且token存活时间应比sessionId长;因为sessionId一旦实效,就可以通过token来保持登录状态;
app登录方式如开头所说,主流三种:微信、QQ、账号/密码;首次验证是通过数据的匹配;匹配成功服务器返回唯一的sessionId和token,防止用户信息的泄露;期间,建议token存活时间应比sessionId长;因为sessionId一旦实效,就可以通过token来维持登录状态;
2.2 登录持续
sessionId记录着客户端登录状态,保存在服务器session中;可想而知当session过了存活期时就会失效,通过token重新获取sessionId;保证登录状态的延续;
2.3 退出登录
sessionId注销;
作者:不动峰
出处:http://www.jianshu.com/users/c0abc9c5f51e/latest_articles
博客园:http://www.cnblogs.com/mylly/
版权所有,欢迎保留原文链接进行转载:)
一、登录机制
粗略分析:登录可分为三个阶段(登录验证、登录持续、退出登录);登录验证指客户端提供账号/密码(或第三方平台(微信、qq)获取openid/unionid)向服务器提出登录请求,服务器应答请求判断能否登录并返回相应数据;登录持续指客户端登录后, 服务器能够分辨出已登录的客户端,并为其持续提供登录权限的服务器。退出登录指客户端退出登录状态。方案,客户端登录成功后, 服务器为其分配seesionId和token, 客户端每次请求资源时都带上sessionId和token验证,当sessionId失效带上token重新获取sessionId从而获取相应资源;
1.1 登录状态seesionId
登录状态指,客户端登录情况(登录中,未登录);简单登录流程如下:
1 、客户端向服务器第一次发起登录请求(不传输用户名和密码)。
2、服务器利用RSA算法产生一对公钥和私钥。并保留私钥, 将公钥发送给客户端。
3、客户端收到公钥后, 加密用户密码, 向服务器发起第二次登录请求(传输用户名和加密后的密码)。
4、服务器利用保留的私钥对密文进行解密,得到真正的密码。
登录成功后,服务器在session中分配一个Id记录客户端访问状态;
1.2 身份验证token
token就是令牌,最大的特点就是随机性,不可预测;从上面流程可知,单单一个sessionId判断用户的登录状态及身份并不可取;为此需要token进行身份审核;并且token存活时间应比sessionId长;因为sessionId一旦实效,就可以通过token来保持登录状态;
二、用户登录
2.1 登录验证app登录方式如开头所说,主流三种:微信、QQ、账号/密码;首次验证是通过数据的匹配;匹配成功服务器返回唯一的sessionId和token,防止用户信息的泄露;期间,建议token存活时间应比sessionId长;因为sessionId一旦实效,就可以通过token来维持登录状态;
2.2 登录持续
sessionId记录着客户端登录状态,保存在服务器session中;可想而知当session过了存活期时就会失效,通过token重新获取sessionId;保证登录状态的延续;
2.3 退出登录
sessionId注销;
作者:不动峰
出处:http://www.jianshu.com/users/c0abc9c5f51e/latest_articles
博客园:http://www.cnblogs.com/mylly/
版权所有,欢迎保留原文链接进行转载:)
相关文章推荐
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- ssm框架后台对app的接口进行登录验证(拦截器,更智能只要方法上面有这个定义注解就验证)
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- PHP做APP接口时,如何保证接口的安全性(登陆验证)
- 后台的token、sessionId、RSA加密登录认证与安全解决方案
- 简单的方法让你的后台登录更加安全(php中加session验证)
- app接口设计之token的php实现
- WEB后台--基于Token的WEB后台登录认证机制(并讲解其他认证机制以及cookie和session机制)
- 后台PHP与手机APP接口开发(API接口开发)
- app接口设计之token的php实现
- app接口设计之token的php实现
- php登录利用$token验证
- App和后台通信基于session_id的登录验证
- [置顶] App (客户端)登录接口设计Token探究(一)