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

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的机制和之前说的也是差不多,只不过封装了很多,并且安全性得到了一定的提高。    

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

如图,用户发起restful登录请求,服务端会创建一个加密的JWT信息,这个会作为token返回给客户端,在后续的交互请求中JWT信息放入headers,服务端解密后并且校验用户信息,成功则验证通过;解密失败说明token无效或者已过期。

 

这几种认证方式中JWT是最安全的,并且可以防范一定的攻击。所以比较推荐。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108668.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Java取绝对值(绝对值函数的使用方法)

    在Java中可以使用Math.abs()方法来方便的进行绝对值计算,例如:输入的是正数的时候直接返回即可,当是负数的时候返回它的相反数即可。使用三目运算符可以使用一行代码就能做到intvalue=Math.abs(-90);System.out.println(value);System.out.println(“*********”);inta=-59;System.out.println((a<0)?-a:a);…

    2022年4月17日
  • 微信公众号发布提醒(微信公众号模板消息接口)

    1.项目简介灵感来源于学校的每日健康日报,要求使用微信小程序进行每日健康打卡。所以此项目的功能类似于QQ群机器人,或者是每日闹钟。功能描述:用户访问给定的页面,进行授权登录,然后确认自己的身份(本科生或研究生),并开启通知,即可每天在约定时间收到微信服务号的消息提醒。当然,用户可以自定义每日通知的时间,也可以随时开启或关闭每日通知。

    2022年4月12日
  • RabbitMQ学习笔记(五)——RabbitMQ集群搭建&入门

    RabbitMQ学习笔记(五)——RabbitMQ集群搭建&入门目录RabbitMQ项目使用集群的好处1.扩展规模2.数据冗余3.高可用RabbitMQ集群搭建RabbitMQ集群原理RabbitMQ集群搭建步骤单节点安装Rabbitmq复制Erlangcookie集群镜像队列原理集群镜像队列设置方法Definition:策略定义设置镜像队列策略案例:将镜像配置到集群中的所有节点HAproxy+Keepalived高可用集群搭建实现高可用的方式HAProxy简介HAProxy配置方法Keepalived简介keepalived配置(两个节点都需要)总结Rabb

    2022年9月6日
  • Android studio安装教程(2020/11/20最新版本的安装)[通俗易懂]

    Android studio安装教程(2020/11/20最新版本的安装)[通俗易懂]最新版Androidstudio的安装教程,安装步骤详细!对于gradle下不下来以及想整一个低版本的SDK的问题进行了解答!

    2022年5月23日
  • oracle中case when_oracle case when 嵌套

    oracle中case when_oracle case when 嵌套Case具有两种格式。简单Case函数和Case搜索函数。–简单Case函数CASEsexWHEN’1’THEN’男’WHEN’2’THEN’女’ELSE’其他’END–Case搜索函数CASEWHENsex=’1’THEN’男’WHENsex=’2’THEN’女’ELSE’其他’END…

    2022年10月5日
  • 关系数据库模型设计「建议收藏」

    关系数据库模型设计「建议收藏」本文从现实世界-概念世界(信息世界)-机器世界(数据世界)逐级抽象,旨在以浅显易懂的语言描述关系数据库应该如何建模,最后用简单名了的描述给出关系模型的设计范式的含义。

    2022年7月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号