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

app与后台交互之间的几种安全认证机制的更多相关文章

  1. 如何用CropBox实现头像裁剪并与java后台交互

    如何用CropBox实现头像裁剪并与java后台交互 参考网站:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob 参考: http://blo ...

  2. Android 监听APP进入后台或切换到前台方案对比

    在我们开发的过程中,经常会遇到需要我们判断app进入后台,或者切换到前台的情况.比如我们想判断app切换到前台时,显示一个解锁界面,要求用户输入解锁密码才能继续进行操作:我们想判断app切换到后台,记 ...

  3. Vue与原生APP的相互交互

    现在好多APP都采用了Hybrid的开发模式,这种模式特别适合那些内容变动更新较大的APP,从而使得开发和日常维护过程变得集中式.更简短.更经济高效,不需要纯原生频繁发布.但有利肯定有弊咯,性能方面能 ...

  4. Extjs 4.2 Grid增删改及后台交互(Java)

    上次发了Easyui Datagrid的增删改查的使用学习记录后一直想整理下基于Extjs4.2的Grid学习使用记录.苦于抽不出时间,一直拖到现在.不得不说,Extjs确实很强大,新版的Neptun ...

  5. js与后台交互详述(入门篇)

    很多新手前端在初期学习的时候往往把注意力放在如何编写页面,如何编写效果上,群里有个朋友问我js是如何与后台交互的,我简单的说一下. 首先需要知道两个东西,一个是客户端,一个是服务器,客户端其实就是我们 ...

  6. 如何禁止App在后台运行以及如何保存和恢复App的状态

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 如果禁止App在后台运行 iOS上的App类似于Windows ...

  7. iOS保持App真后台运行

    https://www.jianshu.com/p/d466f2da0d33 在我看来,苹果系统与安卓系统最直观的区别就是后台处理方式了吧,安卓手机一旦开启了很多app放到后台,即使前台什么也不做,就 ...

  8. EXTJs前后台交互 常用哦3种方式

    <1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...

  9. Struts2 后台获取路径的几种方法

    Struts2 后台获取路径的几种方法 package actions.app; import java.io.File; import org.apache.struts2.ServletActio ...

随机推荐

  1. HTML中meta的应用

    meta是用来在HTML文档中模拟HTTP协议的响应头报文.meta 标签用 于网页的<head>与</head>中,meta 标签的用处很多.meta 的属性有两种:name ...

  2. unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题(转)

    源:unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题 之前一直使用的512KB ROM的STM32,但是最近使用的只有128KB,想用FATFS显示支持长文件名,发 ...

  3. Hibernate 继承表结构

    有Product , Book ,Clothes三张表 Product:id,name Book: id ,name,pageCount Clothes: id ,name ,size 创建三张表 产 ...

  4. 【noip】华容道

    描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的 ...

  5. 最新的thinkphp 后台入口的问题

    新的thinkphp后台入口绑定了单独了文件 admin.php 要注意.

  6. jdom.jar导入问题

    一开始,导入jdom-1.1.1.jar无反应,还是缺包状态 =>将jdom-1.1.1.jar解压,在jdom/build/目录下有jdom.jar导入,success!

  7. Spring MVC之RequestMapping

    第一部分.概述 /**映射URL到控制器类或处理程序*/@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolic ...

  8. UVa 336 - A Node Too Far

    题目大意:在计算机网络中,每条信息都有一个TTL值,在信息到达一个节点时,TTL值首先减1,如果TTL为0,则丢弃该信息报文.给一个网络的配置,给定源点和TTL值,判断该网络中有多少节点不可到达. 无 ...

  9. 文件查找和比较命令 来自: http://man.linuxde.net/find

    文件查找和比较1.find命令,用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时不设置任何参数,则find命令则在当前目录下查找子目录与文件.并且将查到的子 ...

  10. Poi2006 Palindromes

    2780: Poi2006 Palindromes Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 15  Solved: 5[Submit][Stat ...