久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<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="qwawimqqmiuu" 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="qwawimqqmiuu" 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="qwawimqqmiuu" 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>
                            主站蜘蛛池模板: 91在线看片| 国产一区二区三区在线观看视频 | 黄色片免费在线观看 | 欧美黄色一区 | 国产精品女同 | 亚洲精品免费观看 | 欧美黄色一级视频 | 亚洲精品久久久久久久久久久 | 一区二区三区四区视频在线观看 | 亚洲123区 | 人人超碰人人 | a视频在线免费观看 | 久久国产精品免费 | 一区二区免费在线观看 | 国产成人精品亚洲男人的天堂 | 国产午夜免费 | 精品1区2区 | 日韩欧美高清视频 | 欧美日韩成人在线观看 | 午夜久久久久久 | 国产一区二区三区在线 | 久久九九国产 | 看黄网站在线观看 | 日韩一区二区不卡 | 色婷婷丁香 | 日本a在线观看 | 亚洲成人中文字幕 | 中文字幕在线观看一区二区三区 | 蜜桃成人av| 看毛片的网站 | 日韩免费高清 | 日韩天堂av| 性久久久久久久 | 老司机午夜免费精品视频 | 亚洲成人免费 | 女教师合集乱500篇小说 | 欧美亚洲在线 | 日韩福利视频 | 久久久久毛片 | 欧美a级成人淫片免费看 | 国产综合在线视频 |