CSFramework.WebApi后端框架Token令牌工作机制以及Token刷新原理

  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属性的值。


贴图图片-WebApiToken令牌工作机制Token刷新原理



系统默认的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)


ASP.NET WebApi快速开发框架|MVC框架|APP微信小程序后端框架|服务端框架-标准版V1.0


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

CSFramework.WebApi框架Token令牌工作机制以及Token刷新原理
【原创】WebApi开发框架Token生成、Token缓存原理Token验证、令牌机制原理
CSFramework.WebApi框架Token令牌体系架构与应用详解
CSFramework.WebApi令牌管理器(Token Provider)实现添加、删除、刷新令牌过期控制
CSFramework.WebApi服务器框架:客户调用WebApi接口方式(签名+Token令牌)
WebApi框架Token身份认证,Api接口Token验证
数字签名(Data Sign)+存取令牌(Access Token)双重安全请求WebApi接口
CSFramework.WebAPI 框架系统架构图
CSFramework.WebApi系统安全保障机制
AspNet WebAPI框架消息处理机制(配置属性HttpConfiguration.MessageHandlers)
ASPNET WebAPI框架全局异常跟踪及处理机制,保存系统异常消息日志
CSFramework.WebApi服务处理流程与机制
WebApi框架数据安全、信息安全与接口安全六大机制
CSFramework.WebApi开发框架模拟Web用户登录、调用WebApi接口增删改查数据
CSFramework.WebApi框架快速搭建服务支持APP、B/S、C/S、微信小程序、公众号、Web客户
CSFramework.WebApi开发框架APP框架
Web开发框架WebApi主流开发框架介绍
CSFramework.WebApi快速开发框架|APP开发框架 v2.0
微信小程序框架 | C# ASP.NET服务WebApi快速开发框架平台
WebApi快速开发框架,C# ASP.NET开发平台