zoukankan      html  css  js  c++  java
  • 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 应用,这并不理想,尤其对于单线程环境。

  • 相关阅读:
    ETL Pentaho Data Integration (Kettle) 插入/更新 问题 etl
    Value Investment
    sqlserver 2008r2 表分区拆分问题
    HTTP与HTTPS的区别与联系
    别人分享的面经
    饥人谷开放接口(教程)
    java内存泄漏
    单例模式
    Maven项目上有小红叉咋办
    Socket通信1.0
  • 原文地址:https://www.cnblogs.com/kaka6k66k/p/11666253.html
Copyright © 2011-2022 走看看