广告
返回顶部
首页 > 资讯 > 精选 >token认证是什么
  • 746
分享到

token认证是什么

2023-06-27 11:06:41 746人浏览 薄情痞子
摘要

这篇文章主要介绍了token认证是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇token认证是什么文章都会有所收获,下面我们一起来看看吧。以前的开发模式是以mvc为主,但是随着互联网行业快速的发展逐渐的演

这篇文章主要介绍了token认证是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇token认证是什么文章都会有所收获,下面我们一起来看看吧。

以前的开发模式是以mvc为主,但是随着互联网行业快速的发展逐渐的演变成了前后端分离,若项目中需要做登录的话,那么token成为前后端唯一的一个凭证。

token即标志、记号的意思,在IT领域也叫作令牌。在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。在开始token认证之前,我们先梳理下常见的互联网认证机制。

一、Http Basic Auth

HTTP Basic Auth常见的有两种:第一种就是最常见的,即我们在登陆一些WEB页面时,会让我们输入用户名密码;另一种是将用户名密码信息通过base64这类算法变换成一条字符串在http请求头中增加auth字段,再传输给服务端。

这个属于最原始级的认证,缺点比较明显,存在http头中的密码信息容易被抓包获取,用户名密码后服务端后需要查询数据库里的信息,进行比对信息,这也增加了服务器的负担。

二、session+cookie模式

假设目前我们有一个查询类的web站点,不可能查询都要登陆一次,为解决一次登陆,可以在固定一段时间内都免登陆查询,就出现了session+cookie模式,该模式是第一次登陆时使用HTTP Basic Auth,认证成功后,为避免每次都到数据库里校验用户名密码信息,就在主机上存储一份登陆的session信息,在本身cookie里记录对应的session信息,cookie里同时保存expire time。

该模式优缺点都比较明显:session信息需要额外的数据库存储,例如一般需增加redis、meMached等应用。在多机负载时,需要考虑session共享;但好处也是明显的,session信息统一管理,可以在服务端统一控制认证的过期时间或个别用户的过期时间。

token认证是什么

三、简单token认证

token认证最常用的应用场景就是查询接口的调用(RESTful api),查询接口的信息在没有安全需求时,大家都可以通过get方法或post方法取得所需信息。但在有安全需要时一般需要认证后才能获取所需的信息,这时候可以通过先能过HTTP Basic Auth,HTTP Basic Auth认证完成后,服务端返回给客户端一个类似于UUID的唯一标识,我们称之为token。该token一般可以在URL或head头里加入,如以下的常见的URL模式

http://api,361way.com/getinfo?token=xxxxx 或 http://api,361way.com/getinfo?t=xxxxx ,后面再加上相应的查询信息,就可以获取到相应的数据。

token的好处是服务端不需要存储相应信息,但被不怀好意的人从中间获取到该信息时,也容易被利用,非法获取数据。

由于这个简单的token返回串里未返回相应的过期时间信息,如果想增强安全性,一般可以在服务端生成时配合时间戳生成,服务端在接收到client发来带token的信息时,先检测反解token获取时间戳信息,如果该时间戳在超过某个时间点时,就认为过期,需要重新获取。

四、OAuth认证

OAuth(开放授权)是一个开放的授权标准,允许用户让第三方应用访问该用户在某一web服务上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的第三方系统(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。

这个理解起来比较绕口,举个例子,如很多网站上面有qq或微信登陆接口,qq或微信提供的就是OAuth认证。OAuth虽然名字很洋气,其本质还是token认证,仔细研究下上面的话,是不是原理上和上面提到的简单token认证类似,只不过其加了几个callback函数而已 这里以douban豆瓣网调用QQ的OAuth节口为例,其调用方式如下:

# 发起认证:http://www.douban.com/leadToAuthorize# 重定向到QQ认证,并指定回调:http://www.qq.com/authorize?callback=www.douban.com/callback# 返回授权码,并callback到doubanhttp://www.douban.com/callback

五、Jwt认证

JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。一个JWT实际上就是一个字符串,它由三部分组成,头部(Header)、载荷(Payload)与签名(Signature)。这里只简单说下理论,会另开博文深层讨论。

Payload里存放的是存储签发者、签发时间、过期时间、一些数据信息的jsON格式的内容。

{ "iss": "Online JWT Builder","iat": 1416797419,"exp": 1448333419,"aud": "www.example.com","sub": "jrocket@example.com","GivenName": "Johnny","Surname": "Rocket","Email": "jrocket@example.com","Role": [ "Manager", "Project Administrator" ]}

Header里指定存放的是指定使用的协议JWT、加密签名的类型,示例如下:

{"typ": "JWT","alg": "HS256"}

最后签名就是将上面两者的信息通过BASE64编码,再加上密钥信息,三者之间通过点号连接,就组合成的JWT token。可以对比简单token和JWT的区别,两者本质上都是token,只不过JWT在token里多传输了一些信息。

关于“token认证是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“token认证是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: token认证是什么

本文链接: https://www.lsjlt.com/news/309669.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • token认证是什么
    这篇文章主要介绍了token认证是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇token认证是什么文章都会有所收获,下面我们一起来看看吧。以前的开发模式是以MVC为主,但是随着互联网行业快速的发展逐渐的演...
    99+
    2023-06-27
  • 怎么创建Token认证
    今天小编给大家分享一下怎么创建Token认证的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。创建步骤点击Settings点击D...
    99+
    2023-06-26
  • springsecurity基于token的认证方式
    目录前言基于token的表单登录基于token的短信验证码登录基于token的社交登录简化的OAuth的授权改造标准的OAuth授权改造关于用户的绑定之前的社交登录绑定用户自定义pr...
    99+
    2022-11-12
  • PHP实现JWT的Token登录认证
    1、JWT简介 JSON Web Token(缩写 JWT),是目前最流行的跨域认证解决方案。 session登录认证方案:用户从客户端传递用户名、密码等信息,服务端认证后将信息存储在session中,将session_id放到cookie...
    99+
    2017-03-29
    PHP实现Token登录认证 PHP Token认证 Token登录认证
  • django restframework使用redis实现token认证
    目录一、前言二、详解1. 前期准备2. 配置redis3. 将token写入redis3.1 原来的登录代码3.2 重写后的登录代码3.3 登录后redis存储的用户记录4. 重写认...
    99+
    2022-11-12
  • 什么是CA认证
    CA认证是指数字证书认证中心(Certification Authority)的认证。数字证书认证中心是为网络通信提供安全性和信任的...
    99+
    2023-09-20
    CA认证
  • SpringBoot怎么使用Sa-Token实现登录认证
    这篇文章主要讲解了“SpringBoot怎么使用Sa-Token实现登录认证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么使用Sa-Token实现登录认证”吧!一、设...
    99+
    2023-07-05
  • SpringBoot使用Sa-Token实现登录认证
    目录一、设计思路二、登录与注销三、会话查询四、Token 查询五、来个小测试,加深一下理解一、设计思路 对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加...
    99+
    2023-05-14
    SpringBoot Sa-Token登录认证 SpringBoot 登录认证
  • .net core api接口JWT方式认证Token
    一、项目>管理Nuget包 安装 二、.appsettings.json添加 "JWT": { "Secret": "~!@#$%^&*()_+qwert...
    99+
    2022-11-12
  • SpringBoot使用Sa-Token实现权限认证
    目录一、设计思路二、获取当前账号权限码集合三、权限校验四、角色校验五、拦截全局异常六、权限通配符七、如何把权限精确到按钮级?八、前端有了鉴权后端还需要鉴权吗?九、来个小示例,加深一下...
    99+
    2023-05-17
    SpringBoot Sa-Token权限认证 SpringBoot 权限认证
  • asp.net core MVC之实现基于token的认证
    安装Nuget包 项目中添加包:dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer 添加认证配置 S...
    99+
    2022-11-12
  • PHP如何实现JWT的Token登录认证
    本篇内容介绍了“PHP如何实现JWT的Token登录认证”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、JWT简介JSON Web Tok...
    99+
    2023-06-21
  • Linux Token 如何进行一次性密码认证
    今天就跟大家聊聊有关Linux Token 如何进行一次性密码认证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 什么是TokenToken(令牌)是一个身份认证标识,token...
    99+
    2023-06-16
  • springsecurity如何实现基于token的认证方式
    这篇文章主要为大家展示了“springsecurity如何实现基于token的认证方式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“springsecurity如何实现基于token的认证方式”...
    99+
    2023-06-20
  • SpringBoot如何使用Sa-Token实现权限认证
    今天小编给大家分享一下SpringBoot如何使用Sa-Token实现权限认证的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-06
  • Flask中基于Token的身份认证的实现
    Flask提供了多种身份认证方式,其中基于Token的身份认证是其中一种常用方式。基于Token的身份认证通常是在用户登录之后,为用户生成一个Token,然后在每次请求时用户将该To...
    99+
    2023-02-20
    Flask Token身份认证 flask token认证
  • ssl认证的流程是什么
    ssl认证的流程是:1、按照要求把证书配置到网站服务器中;2、客户端会直接向服务器发送一个接入请求;3、服务器接受到请求后,会将证书...
    99+
    2023-02-09
    ssl认证 ssl
  • Spring Security认证机制是什么
    这篇“Spring Security认证机制是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring&nb...
    99+
    2023-07-05
  • .Net Core授权认证方案JWT(JSON Web Token)初探
    一、前言 现在越来越多的项目或多或少会用到JWT,为什么会出现使用JWT这样的场景的呢? 假设现在有一个APP,后台是分布式系统。APP的首页模块部署在上海机房的服务器上,子页面模...
    99+
    2022-11-13
  • ThinkPHP5实现JWT Token认证的过程(亲测可用)
    1、composer先挂载阿里云镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/co...
    99+
    2022-11-13
    ThinkPHP5 JWT Token认证 JWT Token认证 TP5环境jwt验证
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作