app与后台交互之间的几种安全认证机制
1、HTTP简单基本认证方式
这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这么做是不可取的,风险十分大,所以这种认证方式并没有流传开来
2、OAuth(OAuth2)
这个就是开放平台的概念,就像你登录第三方网站或者app的时候可以使用qq或者微信登录,那么登录后第三方可以获取你的个人信息,这就是开放授权的概念,理念是通过token来实现。
这个token可以由你来限制时间,第三方获取你指定的信息,从而达到了一个安全认证的效果。
3、cookie
这是比较常用的一种方式,很多小型网站都在使用,用户在登陆后,生成的用户信息存入cookie,这个cookie要和服务端的session来匹配,一般控制cookie在浏览器关闭的时候失效。
4、token机制
用户登陆后的信息以token存入session或者redis的同时会生成一个cookie,来保存到浏览器,如果是手机端则把这个token存入其他媒介,存活时间与session(这里的session指的是单一应用的session或者分布式session,都可以)一致,如果用户在其他客户端登录后需要覆盖token,从而可以做到唯一登录,需要注意的是token在交互中存入headers中,并且在服务端拦截器中需要对这个token进行校验。这种方式可以跨域,而cookie不能跨域,所以只能适用于一些小网站。
5、json web token(JWT)
JWT的机制和之前说的也是差不多,只不过封装了很多,并且安全性得到了一定的提高。
如图,用户发起restful登录请求,服务端会创建一个加密的JWT信息,这个会作为token返回给客户端,在后续的交互请求中JWT信息放入headers,服务端解密后并且校验用户信息,成功则验证通过;解密失败说明token无效或者已过期。
这几种认证方式中JWT是最安全的,并且可以防范一定的攻击。所以比较推荐。
相关文章
- 002_安装第三方APP好的站点及解除安全与隐私限制
- android 集成支付宝app支付(原生态)-包括android前端与java后台
- 触摸屏网站开发系列(一)-ios web App应用程序(ios meta)
- 上传隐私照片?百度全系App被曝严重漏洞
- ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计
- uni-app快速导入自己需要的插件
- Android性能优化-App启动优化
- 微信中用h5下载app
- apiCloud中实现头部与内容分离与操作规范,App头部header固定,头部与内容分离
- Windows App开发之开发准备
- Uniapp-APP后台保活插件(安卓后台保活)
- 此apple id尚未在app store使用过
- Android APP应用退到后台后再打开老是恢复到前台
- 如何代码获取 Flutter APP 的 FPS
- qt for android实现app内通过按键后台运行程序
- Burpsuite双层代理以及抓https与app包设置