博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
app与后台交互之间的几种安全认证机制
阅读量:6241 次
发布时间:2019-06-22

本文共 840 字,大约阅读时间需要 2 分钟。

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是最安全的,并且可以防范一定的攻击。所以比较推荐。

转载地址:http://imsia.baihongyu.com/

你可能感兴趣的文章
Android消息机制Handler源码分析
查看>>
HashMap JDK1 8源码
查看>>
2018年互联网圈,程序员圈竟然脱单的这么多?
查看>>
数据结构:解读哈夫曼树
查看>>
重新学习web后端开发-003-了解http请求
查看>>
230. Kth Smallest Element in a BST
查看>>
关于Apt注解实践与总结【包含20篇博客】
查看>>
PAT A1004
查看>>
学习webpack4 - 第三方库的使用
查看>>
PAT A1052
查看>>
vue工程全局设置ajax的等待动效
查看>>
Sublime Text3插件安装及问题处理
查看>>
前端如何通过Nginx代理做到跨域访问API接口
查看>>
解析JavaScript"模拟事件"的注意要点
查看>>
HashMap剖析之内部结构
查看>>
被七牛云OSS对象存储测试域名回收后正确数据迁移姿势!
查看>>
简单基于spring的redis配置(单机和集群模式)
查看>>
关于 top 工具的 6 个替代方案
查看>>
第十七天-企业应用架构模式-会话状态模式
查看>>
智能直播审核方案:视频云智能业务截帧策略
查看>>