CSFramework.WebApi后端框架Token令牌工作机制以及Token刷新原理
CSFramework.WebApi后端框架Token令牌工作机制以及Token刷新原理
令牌 Token 在计算机身份认证中是令牌(暗号)的意思,一般作为邀请、登录以及安全认证使用。Token其实说的通俗点就是“暗号”,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。 随着互联网行业快速的发展逐渐的演变成了前后端分离,若项目中需要做登录的话,那么token成为前后端唯一的一个凭证。 Token最大的特点是系统临时分配的一组数据,可以设定过期时间,可以追踪令牌使用过程,可以通过令牌控制用户禁止或允许使用业务系统。 Token生成原理 用户登录业务系统后,后台程序给当前用户分配一个Token序号,如GUID32位的字符串,添加到Token缓存管理器。后台服务器有个时钟管理和维护Token的过期时间,将已过期的Token清除出队列。 Token在WebApi接口的作用 用户登录业务系统后,后台程序给当前用户分配一个Token序号,并返回给前端。前端系统通过Token作为暗号与服务端通信。前端调用WebApi接口,传入Token以及请求参数即可与后端服务通信。 CSFramework.WebApi开发框架进行Token验证 C# Code: //校验用户令牌(Token) if (command.IsValidateToken && command.ClientData is IUserRequestClientLogin) { IUserRequestClientLogin user = command.ClientData as IUserRequestClientLogin; //验证Token,若令牌无效,抛出异常 WebApiGate.CheckToken(user.UserID, user.Token); //刷新当前用户最新的Token过期时间 TokenProvider.RefreshTokenTime(user.Token); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 刷新Token(更新Token的活动时间) Token有两种状态: 闲置状态:用户登录后,不进行任何操作。等待Token超时。 活动状态:用户登录后进行功能操作,前端程序调用WebApi接口即时刷新Token的当前访问时间。Token不会过期。若用户停止操作,即将进入闲置状态。 前端调用WebApi接口,必须传入UserID/Token参数,并通过UserID刷新Token的活动时间。 C# Code: /// <summary> /// 刷新当前用户最新的Token过期时间 /// </summary> /// <param name="userID"></param> public static void RefreshTokenTime(string userID) { if (userID.ToStringEx() != "") { if (_data.ContainsKey(userID)) { lock (_data) { _data[userID].TS = DateTime.Now; } } } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 CSFramework.WebApi开发框架用户表、Token表,TokenExpires过期时间定义 每个用户默认Token过期时间(TokenExpires),单位:分钟。 如下图的TokenExpires=60480,若值=0,系统默认取web.config文件的TokenExpireMinutes属性的值。 系统默认的Token过期分钟数: XML Code: <!--Token过期分钟数--> <add key="TokenExpireMinutes" value="5" /> //来源:C/S框架网 | www.csframework.com | QQ:23404761 ASP.NET WebApi快速开发框架|APP后端框架-标准版V1.0 适用开发:快速搭建APP、B/S、C/S、微信小程序、公众号、Web站点等后端应用服务程序。 运行平台:Windows + .NET Framework 4.5 开发工具:Visual Studio 2015+,C#语言 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)
参考文档:
.Net后端框架|WebApi服务端开发框架|C/S框架网原创作品 WebApi后端框架服务端框架开发微信小程序订阅消息接口 VS.NET后端框架,C#.NET开发的服务器端开发框架 - C/S框架网 ASPNET WebAPI后端框架全局异常跟踪及处理机制,保存系统异常消息日志 AspNet WebAPI后端框架消息处理机制(配置属性HttpConfiguration.MessageHandlers) Asp.Net开源服务端框架,WebApi后端框架标准版 微信小程序后端框架 | C# ASP.NET服务端WebApi快速开发框架平台 微信小程序后端框架|微信公众号后端框架(C# WebAPI) WebApi后端框架成功案例:对接海尔(Haier)集团某子公司的系统 CSFramework.WebApi后端服务器框架:客户端调用WebApi接口方式(签名+Token令牌) CSFramework.WebApi令牌管理器(Token Provider)实现添加、删除、刷新令牌过期控制 【原创】WebApi开发框架:Token生成、Token缓存原理、Token验证、令牌机制与原理 CSFramework.WebApi后端框架Token令牌体系架构与应用详解 WebApi后端框架Token身份认证,Api接口Token验证 CSFramework.WebApi后端框架Log日志配置详解
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |