c#中token怎么用
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍了c#中token怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。token的存在意义这是我初略了解的token的
千家信息网最后更新 2025年01月17日c#中token怎么用
这篇文章主要介绍了c#中token怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
token的存在意义
这是我初略了解的token的存在意义
用户使用用户名密码来请求服务器
服务器进行验证用户的信息
服务器通过验证发送给用户一个token
客户端存储token,并在每次请求时附送上这个token值
服务端验证token值,并返回数据
使用方法
先安装一个JWT,注意NetFramework的版本
创建一个工具类TokenInfo.cs
using JWT;using JWT.Algorithms;using JWT.Serializers;using System;using System.Collections.Generic;using System.Web;using System.Web.Script.Serialization;namespace ProjectLYG.Common{ public class TokenInfo { public TokenInfo() { UserName = "j"; Pwd = "123456"; } public string UserName { get; set; } public string Pwd { get; set; } } public class TokenHelper { public static string SecretKey = "bqsid123k12s0h2d3uhf493fh02hdd102h9s3h48ff";//这个服务端加密秘钥 属于私钥 private static JavaScriptSerializer myJson = new JavaScriptSerializer(); ////// 生成Token /// /// ///public static string GenToken(TokenInfo M) { var payload = new Dictionary { {"UserName", M.UserName},//用于存放当前登录人账户信息 {"UserPwd", M.Pwd}//用于存放当前登录人登录密码信息 }; IJwtAlgorithm algorithm = new HMACSHA256Algorithm(); IJsonSerializer serializer = new JsonNetSerializer(); IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder); return encoder.Encode(payload, SecretKey); } /// /// 验证Token /// ///public static string DecodeToken() { //获取request中的token string token = HttpContext.Current.Request.Headers["Authorization"]; //去掉前面的Bearer if (token != null && token.StartsWith("Bearer")) token = token.Substring("Bearer ".Length).Trim(); try { var json = GetTokenJson(token); TokenInfo info = myJson.Deserialize (json); return "Token is true"; } catch (TokenExpiredException) { return "Token has expired"; } catch (SignatureVerificationException) { return "Token has invalid signature"; } } public static string GetTokenJson(string token) { try { IJsonSerializer serializer = new JsonNetSerializer(); IDateTimeProvider provider = new UtcDateTimeProvider(); IJwtValidator validator = new JwtValidator(serializer, provider); IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder); var json = decoder.Decode(token, SecretKey, verify: true); return json; } catch (Exception) { throw; } } }}
使用方法
//生成Token TokenInfo tokenInfo = new TokenInfo(); tokenInfo.Pwd = password; tokenInfo.UserName = tel; string token = TokenHelper.GenToken(tokenInfo); ........ //token验证 string tokenInfo = TokenHelper.DecodeToken(); ........
工具类已将返回的Request的token值提取出,无须传值
感谢你能够认真阅读完这篇文章,希望小编分享的"c#中token怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
服务
验证
用户
篇文章
信息
服务器
登录
c#
使用方法
密码
工具
意义
方法
生成
价值
兴趣
同时
客户
客户端
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小学国旗下讲话网络安全
炉石传说怎么看自己是哪个服务器
商家怎么连接数据库
手机与手机ftp服务器
网络安全法颁布时间
数据库两者之差求值
仿真软件开发电路板
审批人数据库
服务器主机安装的是什么版本系统
华腾网络技术有限公司
如何实施数据库垂直拆分
b s结构的软件开发
手机热点csgo连不上服务器
滨州瓷砖软件开发价格
网络安全主题宣讲活动
电脑怎么创建代理服务器
数据库脚本示例
哈尔滨软件开发类
小学生网络安全宣传画作品
软件开发如何使用中间件
清华大学网络安全研究生招生网
吉林数据软件开发服务价格优惠
大学生怎样重视网络安全
还原数据库时改名字
鬼三服务器
品牌数据库种类
linux局域网服务器
北京星河卓越软件开发
数据库中截字段中的字符
许昌网络技术怎么样