美文网首页
用户认证方式对比

用户认证方式对比

作者: stanf1l | 来源:发表于2017-12-23 23:47 被阅读0次

实现用户登录认证的方式常见的有两种:一种是基于 cookie 的认证,另外一种是基于 token 的认证

传统的基于 cookie 的认证方式

基本有下面几个步骤:

  • 用户输入用户名和密码,发送给服务器

  • 服务器验证一下用户名和密码,正确的话就创建一个会话( session )

  • 同时会把这个会话的 ID 保存到客户端浏览器中,因为保存的地方是浏览器的 cookie ,所以这种认证方式叫做基于 cookie

    的认证方式

  • 后续的请求中,浏览器会发送会话 ID 到服务器,服务器上如果能找到对应 ID 的会话,那么服务器就会返回需要的数据给浏览器

  • 当用户退出登录,会话会同时在客户端和服务器端被销毁

多年以来这种方式都是很流行的,例如,前几年我使用 Ruby On Rails 做开发,这个是 Rails 默认的认证方式。

当代的基于 token 的认证方式

对比上面的方式,有比较明显的不同:

  • 用户输入用户名密码,发送给服务器
  • 服务器验证一下用户名和密码,正确的话就返回一个签名过的 token( token 可以认为就是个长长的字符串)
  • 客户端浏览器拿到这个 token
  • 后续每次请求中,浏览器会把 token 作为 http header 发送给服务器
  • 服务器可以验证一下签名是否有效,如果有效那么认证就成功了,可以返回客户端需要的数据
  • 这种方式的特点就是客户端的 token 中自己保留有大量信息,服务器没有存储这些信息,而只负责验证
  • 所以一旦用户退出登录,只需要客户端销毁一下 token 即可,服务器端不需要有任何操作

我们做当代的 nodejs 开发,一般都用这样的方式进行认证。基于 token 的认证,一般会用到 JWT 技术,我们下一集里面详细介绍一下 JWT 。

为何我们的项目会采用后者?

简单来说一句话:

基于 Token 的认证方式才适合像 Angular, React, Vue 这样的 SPA(单页面应用)框架。

具体来说,cookie-based 的方案有以下缺点:

  • 服务器端要为每个用户保留 session 信息,连接用户多了,服务器内存压力巨大
  • 适合单一域名,不适合第三方请求的形式,这个在当代是个大问题

token-based 的方案的优势是:

  • 让我们的后台 API 更容易被移动 App 使用
  • token 自己存储所有需要的各种信息,每次认证的时候服务器上不必进行数据库查询,执行效率大大提高

参考

文章来源:好奇猫

相关文章

  • 用户认证方式对比

    实现用户登录认证的方式常见的有两种:一种是基于 cookie 的认证,另外一种是基于 token 的认证。 传统的...

  • 加盐加密

    背景 涉及身份验证的系统都需要存储用户的认证信息,常用的用户认证方式主要为用户名和密码的方式,为了安全起见,用户输...

  • OAuth2 概念学习

    2020-6-1学习 认证(登录) 定义用户认证就是判断一个用户的身份是否合法的过程 身份认证方式用户名密码登录、...

  • Spring-Security-文档笔记之认证机制

    1. 用户名密码认证 用户名密码读取方式有三: 表单 Basic认证 Digest认证 存储机制: 内存存储 JD...

  • Shiro权限管理笔记

    一.用户身份认证 身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输...

  • 基于Session的认证方式

    1. 认证流程 基于Session认证方式的流程是,用户认证成功后,在服务端生成用户相关的数据保存在session...

  • mongo(十八:安全架构)

    MongoBD安全架构:认证鉴权审计加密 MongoDB 用户认证方式 MongoDB 集群节点认证 传输加密 落...

  • SpringSecurity认证通过后获取当前用户名

    后台获取通过认证的用户名: 通过SpringSecurity认证后,获取登录的用户名: 方式一:通过SpringS...

  • Shiro授权和认证流程

    认证流程 认证过程: 身份认证,就是判断一个用户是否为合法用户的处理过程.醉常用的简单身份认证方式是系统通过核对用...

  • 接口测试快速入门3认证

    认证是一种在用户登录应用程序之前验证他们的方式,而授权则定义了用户可以访问的内容。 HTTP认证 基本认证HTTP...

网友评论

      本文标题:用户认证方式对比

      本文链接:https://www.haomeiwen.com/subject/oarcgxtx.html