iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >c#中token怎么用
  • 578
分享到

c#中token怎么用

2023-06-29 04:06:33 578人浏览 泡泡鱼
摘要

这篇文章主要介绍了C#中token怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。token的存在意义这是我初略了解的token的存在意义用户使用用户名密码来请求服务器服

这篇文章主要介绍了C#中token怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

token的存在意义

这是我初略了解的token的存在意义

  • 用户使用用户名密码来请求服务器

  • 服务器进行验证用户的信息

  • 服务器通过验证发送给用户一个token

  • 客户端存储token,并在每次请求时附送上这个token值

  • 服务端验证token值,并返回数据

使用方法

先安装一个Jwt,注意NetFramework的版本

c#中token怎么用

创建一个工具类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();        /// <summary>        /// 生成Token        /// </summary>        /// <param name="M"></param>        /// <returns></returns>        public static string GenToken(TokenInfo M)        {            var payload = new Dictionary<string, dynamic>            {                {"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);        }        /// <summary>        /// 验证Token        /// </summary>        /// <returns></returns>        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<TokenInfo>(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怎么用”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: c#中token怎么用

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

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

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

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

下载Word文档
猜你喜欢
  • c#中token怎么用
    这篇文章主要介绍了c#中token怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。token的存在意义这是我初略了解的token的存在意义用户使用用户名密码来请求服务器服...
    99+
    2023-06-29
  • vue中的token怎么使用
    这篇文章主要介绍了vue中的token怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中的token怎么使用文章都会有所收获,下面我们一起来看看吧。vue中token是在服务端产生的一串字符串,以作...
    99+
    2023-07-05
  • c#中token的使用方法实例
    目录token的存在意义使用方法token的存在意义 这是我初略了解的token的存在意义 用户使用用户名密码来请求服务器服务器进行验证用户的信息服务器通过验证发送给用户一个toke...
    99+
    2024-04-02
  • C# 怎么实现Token的方法
    本篇内容介绍了“C# 怎么实现Token的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是JWTJWT:Json web token...
    99+
    2023-06-14
  • PHP中ThinkPhp框架的token怎么用
    小编给大家分享一下PHP中ThinkPhp框架的token怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂...
    99+
    2023-06-14
  • 怎么在ssm中利用token校验登录
    怎么在ssm中利用token校验登录?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用场景 token 还能起到反爬虫的作用,当然爬虫也是有突破的方法的,尽管如此还是...
    99+
    2023-06-14
  • Cassandra中的Token是什么
    在Cassandra中,Token是一种分布式哈希函数生成的值,用于确定数据在集群中的分布位置。每个节点在集群中被分配一个范围的To...
    99+
    2024-04-02
  • 怎么在node.js中使用​JsonWebToken模块进行token加密
    这篇文章主要讲解了“怎么在node.js中使用JsonWebToken模块进行token加密”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在node.js中使用JsonWebToken模...
    99+
    2023-07-05
  • 怎么创建Token认证
    今天小编给大家分享一下怎么创建Token认证的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。创建步骤点击Settings点击D...
    99+
    2023-06-26
  • C/C++中gtest怎么用
    这篇文章主要介绍了C/C++中gtest怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Google C++ Testing Framework(简称gtest,http...
    99+
    2023-06-17
  • c++中!怎么用
    c++ 中惊叹号 (!) 表示逻辑非运算,将布尔值取反:如果值为真,返回假;如果值为假,返回真。 C++ 中的惊叹号 (!) 用法 在 C++ 中,惊叹号 (!) 操作符表示逻辑非运算...
    99+
    2024-04-26
    c++
  • c++中?:怎么用
    条件运算符(:)在 c++ 中可根据条件执行不同操作。语法:condition true_expression : false_expression。其中,condition 是布尔表...
    99+
    2024-04-26
    c++
  • c++中::怎么用
    在 c++ 中,:: 运算符用于访问类的静态成员或全局变量。它可以让您访问静态成员,即使没有类实例,也可以访问全局变量,即使没有源文件。 :: 在 C++ 中的用途 :: 是 C++ ...
    99+
    2024-04-26
    c++
  • 怎么生成token导入redis
    生成token导入redis的示例:通过执行以下代码程序生成token导入redis。package com.mayikt.core.token;import com.mayikt.core.utils.RedisUtil;import o...
    99+
    2024-04-02
  • 在 ThinkPHP 中使用 JWT 签发 Token
    本文目录 一、什么是 JWT二、在 ThinkPHP 中安装 JWT三、签发 Token 示例四、使用 Token 示例 一、什么是 JWT JWT,全称:Json Web To...
    99+
    2023-10-26
    PHP Token Json Web Token JWT
  • C++/C中#define怎么使用
    本篇内容介绍了“C++/C中#define怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 缩减代码 第一种用法与type...
    99+
    2023-07-02
  • node中token的概念是什么
    这篇文章主要讲解了“node中token的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“node中token的概念是什么”吧! ...
    99+
    2024-04-02
  • jwt怎么解决刷新token
    JWT(JSON Web Token)是一种用于身份验证的开放标准。它由三个部分组成:头部、载荷和签名。在实现JWT刷新令牌的功能时...
    99+
    2023-09-29
    jwt
  • Redis存储用户token问题怎么解决
    这篇文章主要介绍了Redis存储用户token问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis存储用户token问题怎么解决文章都会有所收获,下面我们一起来看看吧。Redis 存储用户tok...
    99+
    2023-07-05
  • jwt怎么防止token被窃取
    要防止JWT被窃取,可以采取以下措施:1. 使用HTTPS:通过使用HTTPS协议来加密通信,可以防止中间人攻击和窃取JWT的风险。...
    99+
    2023-10-07
    jwt
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作