pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<tfoot id='vmBYb'></tfoot>

    • <bdo id='vmBYb'></bdo><ul id='vmBYb'></ul>
      <i id='vmBYb'><tr id='vmBYb'><dt id='vmBYb'><q id='vmBYb'><span id='vmBYb'><b id='vmBYb'><form id='vmBYb'><ins id='vmBYb'></ins><ul id='vmBYb'></ul><sub id='vmBYb'></sub></form><legend id='vmBYb'></legend><bdo id='vmBYb'><pre id='vmBYb'><center id='vmBYb'></center></pre></bdo></b><th id='vmBYb'></th></span></q></dt></tr></i><div class="zqsxamk" id='vmBYb'><tfoot id='vmBYb'></tfoot><dl id='vmBYb'><fieldset id='vmBYb'></fieldset></dl></div>

    1. <legend id='vmBYb'><style id='vmBYb'><dir id='vmBYb'><q id='vmBYb'></q></dir></style></legend>

      <small id='vmBYb'></small><noframes id='vmBYb'>

        如何驗證 JWT 令牌

        How to validate a JWT token(如何驗證 JWT 令牌)

        1. <small id='Ry9vG'></small><noframes id='Ry9vG'>

          • <bdo id='Ry9vG'></bdo><ul id='Ry9vG'></ul>

              <tbody id='Ry9vG'></tbody>
                <tfoot id='Ry9vG'></tfoot>
                  <legend id='Ry9vG'><style id='Ry9vG'><dir id='Ry9vG'><q id='Ry9vG'></q></dir></style></legend>
                  <i id='Ry9vG'><tr id='Ry9vG'><dt id='Ry9vG'><q id='Ry9vG'><span id='Ry9vG'><b id='Ry9vG'><form id='Ry9vG'><ins id='Ry9vG'></ins><ul id='Ry9vG'></ul><sub id='Ry9vG'></sub></form><legend id='Ry9vG'></legend><bdo id='Ry9vG'><pre id='Ry9vG'><center id='Ry9vG'></center></pre></bdo></b><th id='Ry9vG'></th></span></q></dt></tr></i><div class="8adupnb" id='Ry9vG'><tfoot id='Ry9vG'></tfoot><dl id='Ry9vG'><fieldset id='Ry9vG'></fieldset></dl></div>
                  本文介紹了如何驗證 JWT 令牌的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我正在嘗試使用 JWT 令牌.我設法生成了一個有效的 JWTTokenString 并在 JWT 調試器 上對其進行了驗證,但我有在 .Net 中驗證令牌是不可能的.這是我到目前為止的代碼:

                  I'm trying to use JWT tokens. I managed to generate a valid JWTTokenString and validated it on the JWT debugger but I'm having an impossible time validating the token in .Net. Here's the code I have so far:

                  class Program {
                  
                      static string key = "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";
                  
                      static void Main(string[] args) {
                          var stringToken = GenerateToken();
                          ValidateToken(stringToken);
                      }
                  
                      private static string GenerateToken() {
                          var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(key));
                  
                          var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
                  
                          var header = new JwtHeader(credentials);
                  
                          var payload = new JwtPayload {
                             { "some ", "hello "},
                             { "scope", "world"},
                          };
                  
                          var secToken = new JwtSecurityToken(header, payload);
                          var handler = new JwtSecurityTokenHandler();
                  
                          return handler.WriteToken(secToken);
                  
                      }
                  
                      private static bool ValidateToken(string authToken) {
                          var tokenHandler = new JwtSecurityTokenHandler();
                          var validationParameters = GetValidationParameters();
                  
                          SecurityToken validatedToken;
                          IPrincipal principal = tokenHandler.ValidateToken(authToken, validationParameters, out validatedToken);
                          Thread.CurrentPrincipal = principal;
                          return true;
                      }
                  
                      private static TokenValidationParameters GetValidationParameters() {
                          return new TokenValidationParameters() {
                              //NOT A CLUE WHAT TO PLACE HERE
                          };
                      }
                  }
                  

                  我想要的只是一個接收令牌并根據其有效性返回真或假的函數.從研究中我看到人們使用 IssuerSigningToken 來分配驗證密鑰.但是當我嘗試使用它時,它似乎不存在.誰能幫我驗證令牌?

                  All I want is a function that receives a token and returns true or false based on its validity. From research I've seen people use IssuerSigningToken to assign the validation key. But when I try to use it, it doesn't seem to exist. Could anyone give me a hand on validating the token?

                  推薦答案

                  您必須使用與生成令牌相同的密鑰來驗證令牌.您還需要禁用一些驗證,例如過期、頒發者和聽眾,因為您生成的令牌沒有這些信息(或者您可以添加這些信息).這是一個工作示例:

                  You must use the same key to validate the token as the one you use to generate it. Also you need to disable some validations such as expiration, issuer and audiance, because the token you generate doesn't have these information (or you can add these information). Here's a working example:

                  class Program
                  {
                      static string key = "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";
                  
                      static void Main(string[] args)
                      {
                          var stringToken = GenerateToken();
                          ValidateToken(stringToken);
                      }
                  
                      private static string GenerateToken()
                      {
                          var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(key));
                          var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
                  
                          var secToken = new JwtSecurityToken(
                              signingCredentials: credentials,
                              issuer: "Sample",
                              audience: "Sample",
                              claims: new[]
                              {
                                  new Claim(JwtRegisteredClaimNames.Sub, "meziantou")
                              },
                              expires: DateTime.UtcNow.AddDays(1));
                  
                          var handler = new JwtSecurityTokenHandler();
                          return handler.WriteToken(secToken);
                      }
                  
                      private static bool ValidateToken(string authToken)
                      {
                          var tokenHandler = new JwtSecurityTokenHandler();
                          var validationParameters = GetValidationParameters();
                  
                          SecurityToken validatedToken;
                          IPrincipal principal = tokenHandler.ValidateToken(authToken, validationParameters, out validatedToken);
                          return true;
                      }
                  
                      private static TokenValidationParameters GetValidationParameters()
                      {
                          return new TokenValidationParameters()
                          {
                              ValidateLifetime = false, // Because there is no expiration in the generated token
                              ValidateAudience = false, // Because there is no audiance in the generated token
                              ValidateIssuer = false,   // Because there is no issuer in the generated token
                              ValidIssuer = "Sample",
                              ValidAudience = "Sample",
                              IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(key)) // The same key as the one that generate the token
                          };
                      }
                  }
                  

                  這篇關于如何驗證 JWT 令牌的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  What are good algorithms for vehicle license plate detection?(車牌檢測有哪些好的算法?)
                  onClick event for Image in Unity(Unity中圖像的onClick事件)
                  Running Total C#(運行總 C#)
                  Deleting a directory when clicked on a hyperlink with JAvascript.ASP.NET C#(單擊帶有 JAvascript.ASP.NET C# 的超鏈接時刪除目錄)
                  asp.net listview highlight row on click(asp.net listview 在單擊時突出顯示行)
                  Calling A Button OnClick from a function(從函數調用按鈕 OnClick)
                  <tfoot id='q5k24'></tfoot>

                      <i id='q5k24'><tr id='q5k24'><dt id='q5k24'><q id='q5k24'><span id='q5k24'><b id='q5k24'><form id='q5k24'><ins id='q5k24'></ins><ul id='q5k24'></ul><sub id='q5k24'></sub></form><legend id='q5k24'></legend><bdo id='q5k24'><pre id='q5k24'><center id='q5k24'></center></pre></bdo></b><th id='q5k24'></th></span></q></dt></tr></i><div class="dmqlzpo" id='q5k24'><tfoot id='q5k24'></tfoot><dl id='q5k24'><fieldset id='q5k24'></fieldset></dl></div>
                        <tbody id='q5k24'></tbody>

                    • <legend id='q5k24'><style id='q5k24'><dir id='q5k24'><q id='q5k24'></q></dir></style></legend>

                    • <small id='q5k24'></small><noframes id='q5k24'>

                            <bdo id='q5k24'></bdo><ul id='q5k24'></ul>
                            主站蜘蛛池模板: 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 除尘布袋_液体过滤袋_针刺毡滤料-杭州辉龙过滤技术有限公司 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 蒸汽吸附分析仪-进口水分活度仪|康宝百科 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 全自动变压器变比组别测试仪-手持式直流电阻测试仪-上海来扬电气 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 承插管件_不锈钢承插管件_锻钢高压管件-温州科正阀门管件有限公司 | 皮带式输送机械|链板式输送机|不锈钢输送机|网带输送机械设备——青岛鸿儒机械有限公司 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 电抗器-能曼电气-电抗器专业制造商 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 软文推广发布平台_新闻稿件自助发布_媒体邀约-澜媒宝 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 井式炉-台车式回火炉-丹阳市电炉厂有限公司| 缝纫客| 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 除尘布袋_液体过滤袋_针刺毡滤料-杭州辉龙过滤技术有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 【黄页88网】-B2B电子商务平台,b2b平台免费发布信息网 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 | 电动高尔夫球车|电动观光车|电动巡逻车|电动越野车厂家-绿友机械集团股份有限公司 |