APP登录Token认证过程

1.App登录Token登录机制:

  一般第一次安装App后,会让你进行注册后登录,而只要登录成功后,以后的每次启动App都是登录状态,

不需要每次启动时再登录。但有些App你若长期没有启动,它会提示你登录过期,让你重新登录。整个过程如

下:

2.Token的生成过程:

3.Token相对于Cookie的好处:

  1).支持跨域访问: Cookie是不允许垮域访问的,token支持
  2).无状态: token无状态,session有状态的
  3).去耦: 不需要绑定到一个特定的身份验证方案。Token可以在任何地方生成,只要在 你的API被调用的时候, 你可以进行Token生成调用即可.
          更适用于移动应用: Cookie不支持手机端访问的
  4).性能: 在网络传输的过程中,性能更好
  基于标准化: 你的API可以采用标准化的 JSON Web Token (JWT). 这个标准已经存在 多个后端库(.NET, Ruby, Java,Python, PHP)

和多家公司的支持(如: Firebase,Google, Microsoft)。

4.Token的 缺陷

1). 占带宽
  正常情况下要比 session_id 更大,需要消耗更多流量,挤占更多带宽,假如你的网站每月有 10 万次的浏览器,就意味着要多开销几十兆的流量。

听起来并不多,但日积月累也是不小一笔开销。实际上,许多人会在 JWT 中存储的信息会更多。

2). 无法在服务端注销,那么就很难解决劫持问题

3.) 性能问题:
  JWT(Json Web Token) 的卖点之一就是加密签名,由于这个特性,接收方得以验证 JWT 是否有效且被信任。但是大多数 Web 身份认证应用中,

JWT 都会被存储到 Cookie 中,这就是说你有了两个层面的签名。听着似乎很牛逼,但是没有任何优势,为此,你需要花费两倍的 CPU 开销来验证签名。

对于有着严格性能要求的 Web 应用,这并不理想,尤其对于单线程环境。

原文地址:https://www.cnblogs.com/kaka6k66k/p/11666253.html

时间: 2024-08-29 13:13:47

APP登录Token认证过程的相关文章

Tp5框架 关于App登录token唯一加密算法

web登录靠的是cookies里的sessionid来区分唯一性.app登录靠的是token唯一性. 个人针对token加密的笔录: public static function setAppLoginToken($phone = '') {$str = md5(uniqid(md5(microtime(true)), true));$str = sha1($str.$phone);return $str;} 原文地址:http://blog.51cto.com/kangjunfei/21510

shiro登录认证过程讲解

先粘出登录的代码 1. 可以看到已经获取到了username和password ,为了接下来的认证过程,我们需要获取subject对象,也就是代表当前登录用户,并且要将username和password两个变量设置到UsernamePasswordToken对象的token中, 调用SecurityUtils.getSubject().login(token)方法,将 token传入 接下来看看login方法的实现: 主要还是用到了securityManager安全管理器 进入securityM

Apache shiro(3)-认证过程

自己看了看前面写的几篇博客,实在是惨不忍睹.原来觉得别人这块写的不怎么样,什么都没有讲清楚.然后自己写,结果是我写的更烂.如果你被我之前的博客摧残过了,深表歉意.实践这个事情说不清楚,来来来,我们讲道理吧还是. 认证过程 认证过程也就是对用户验明正身的过程,即确认用户输入的身份信息是正确的合法的过程.我们先看看这个认证过程的图: 就如图上所说,其实这个认证过程,是在Shiro的SecurityManager中自动完成的.我们使用的时候真正做的内容是从用户输入哪里收集用户的身份信息(用户名+密码)

OAuth2.0认证过程

本文以腾讯微博为例,详细介绍OAuth2.0的认证过程. 在使用腾讯微博平台提供的API前,您需要做以下两步工作: 成为开发者,并申请appkey和appsecret 授权获取accesstoken Accesstoken是第三方获得用户授权的凭证,是第三方访问api资源的票据.目前,腾讯微博采用Oauth2.0协议对第三方进行授权,相对Oauth1.0来说,Oauth2.0具有更加简单和安全特点. 获取accesstoken的两种方式 用户通过Oauth2.0授权第三方有两种方式: Autho

将 Shiro 作为应用的权限基础 二:基于SpringMVC实现的认证过程

认证就是验证用户身份的过程.在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法.最常见的“实体/凭证”组合便是“用户名/密码”组合. 一.认证过程 1.收集实体/凭据信息 Java代码 UsernamePasswordToken token = new UsernamePasswordToken(username, password); token.setRememberMe(true); UsernamePasswordToken支

App登录状态维持

转载地址:http://www.jianshu.com/p/4b6b04244773 目前APP大都支持长登录,就是用户登录一次后,如果用户没有主动注销.清除APP缓存数据或卸载APP,就在一段时间内或一直保持登录状态.一般情况下,有以下三种方式: 利用Token实现 APP登录成功后,服务器以某种方式,如随机生成N位的字符串作为Token,同时设置一个有效期,存储到服务器中,并返回Token给APP. 后续APP发送请求时,都要带上该Token,每次服务器端收到请求时,都要验证Token和有效

002 使用固定信息模拟认证过程--理解认证的过程

一 . 环境的搭建 我们使用maven来搭建工程. <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.3.0</version> </dependency>本次使用的1.3.0的版本. 当然为了更好的shiro的运行过程,我们导入日志组件包. 本次使用log4j来完成.

Spring Security 认证过程

目录 1.1     认证过程 1.2     Web应用的认证过程 1.2.1    ExceptionTranslationFilter 1.2.2    在request之间共享SecurityContext 1.1     认证过程 1.用户使用用户名和密码进行登录. 2.Spring Security将获取到的用户名和密码封装成一个实现了Authentication接口的UsernamePasswordAuthenticationToken. 3.将上述产生的token对象传递给Aut

token认证

token认证 文章出处:https://segmentfault.com/a/1190000014527692 一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造.攻击者盗用你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全. 二.CSRF攻击原理 三.防御CSRF的策略:token认证 1.token验证