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

转载于:https://www.cnblogs.com/leechenxiang/p/6385607.html

app与后台交互之间的几种安全认证机制相关推荐

  1. java中程序跳转_java程序中先后台交互的两种实现方式以及页面之间的跳转

    虽然如今市面上很流行先后端分离,可是在不少企业中仍是使用的是SSH框架,先后端不分离. 那么此类先后端有其自身独特的先后台交互的方式,可是也支持js/jquery.下面对这两种方式作一下概括.java ...

  2. vue后端框架mysql_vue框架之前后台交互、element-ui

    vue框架之前后台交互.element-ui vuex(了解) 注:可以完成任意间组件信息交互(移动端) vuex是实现任何组件间的信息交互,可以理解为全局的一个单例,为任何一个组件共享vue仓库里的 ...

  3. 前端html页面如何结合后端,前端开发与后台交互机制

    传统开发模式: 一般传统上的开发协作模式有两种: 一种是前端先写一个静态页面,写好后,让后端去套模板.静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可.不足是还需要后端套模板,这些前端代 ...

  4. 安卓studio 添加后台bgm音乐的几种方法

    在app内播放后台音频需要调用Service组件 Service组件需要在清单文件里使用标签注册 (一般会自动在文件里注册) Service 是编写服务组件的抽象基类 onCreate() 和onDe ...

  5. app与后台通信完整流程

    前言: 接着补充app后台(也叫服务端开发)的基础知识.基础要夯实,不然哪来的万张高楼? 正文: 问1:整个前台后台交互的流程是个什么样子? 答:基于http协议的app前后台交互包含以下几个步骤: ...

  6. android app 的后台代码,包括后台的Android美食APP项目开源代码

    项目简介 小食光定位为一款集美食,社交,LBS服务于一体的美食推荐APP.为你发现周边美食的同时提供一个吃货分享的平台. APP截图 功能模块 美食推荐 :提供基础的美食信息查询: 商家推荐 : 基于 ...

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

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

  8. app 与服务器交互 token

    1.产生原因 app 应用需要访问服务器,此过程中涉及到身份认证和权限控制的问题,如何搭建 app 和服务器之间信任的桥梁? 我们都知道,session.cookie 是作为浏览器里面的用户和服务器之 ...

  9. 【浙江名度控股】企业在APP和小程序之间如何抉择?

    微信小程序功能发布了一年多了,由于名度控股也一直在承接开发方面的业务,有很多客户在APP和小程序之间难以抉择,今天就给大家对比一下两者的区别,希望能给客户们提供一些参考.1.功能及开放性APP是基于安 ...

最新文章

  1. php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析
  2. Python(6)——Django之hello python模板视图
  3. 使用T-SQL导入多个文件数据到SQL Server中一文的疑惑
  4. 自定义jackson序列化_Jackson中的自定义反序列化程序和验证
  5. AES加密例子(python和php版本)
  6. (转载)Android项目实战(二十七):数据交互(信息编辑)填写总结
  7. Microsoft Office Mobile 2010 Beta 于 4 月 5 日过期
  8. ggplot2学习笔记系列之利用ggplot2绘制误差棒及显著性标记
  9. CS224N笔记——RNN和语言模型
  10. python3 爬虫
  11. 用友U9 SOA Ready
  12. 批处理for命令截取字符串
  13. 高校圆桌派话题征集第五期来咯
  14. 来看看怎样让你的VSR模型跑的和苏炳添一样快
  15. js点击使内容变成可编辑状态
  16. (Java)学习笔记1---入门篇
  17. 用几何语言表示线段ab的中点c,根据下列语句画出图形:(1)过图甲线段AB的中点C,作CD⊥AB;(2)点P...
  18. 如何扎实的学好ABAP?我的个人经验
  19. win2003 IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAd
  20. js 数组(定义数组,数组长度,数组计算,元素类型转换)

热门文章

  1. php orm教程,Laravel ORM 数据model操作教程
  2. 研究生图像处理该怎的自学_2020研究生入学资格,中级经济师资格-小嗨视频课堂...
  3. 防窥屏的膜能真的防止别人偷看吗,其原理是什么?
  4. 计算机专业学的东西其实很少,为什么计算机专业的学生要学习使用Linux系统?...
  5. html语言1002html语言,HTML基础和标签介绍
  6. bootstrap 生日选择_bootstrap的datetimepicker只选择月份
  7. flask v0.1 项目工程
  8. neo4j order by
  9. opencv-api matchTemplate
  10. vue路由1.0_【Vue】路由