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

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

      <bdo id='G9lMs'></bdo><ul id='G9lMs'></ul>

    <legend id='G9lMs'><style id='G9lMs'><dir id='G9lMs'><q id='G9lMs'></q></dir></style></legend>

    1. <i id='G9lMs'><tr id='G9lMs'><dt id='G9lMs'><q id='G9lMs'><span id='G9lMs'><b id='G9lMs'><form id='G9lMs'><ins id='G9lMs'></ins><ul id='G9lMs'></ul><sub id='G9lMs'></sub></form><legend id='G9lMs'></legend><bdo id='G9lMs'><pre id='G9lMs'><center id='G9lMs'></center></pre></bdo></b><th id='G9lMs'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='G9lMs'><tfoot id='G9lMs'></tfoot><dl id='G9lMs'><fieldset id='G9lMs'></fieldset></dl></div>

      1. <tfoot id='G9lMs'></tfoot>
      2. ASP.NET 核心 JWT 身份驗證總是拋出 401 未授權

        ASP.NET core JWT authentication always throwing 401 unauthorized(ASP.NET 核心 JWT 身份驗證總是拋出 401 未授權)

          <tfoot id='vACOq'></tfoot>
            <tbody id='vACOq'></tbody>
            <bdo id='vACOq'></bdo><ul id='vACOq'></ul>

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

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

            1. <legend id='vACOq'><style id='vACOq'><dir id='vACOq'><q id='vACOq'></q></dir></style></legend>
                • 本文介紹了ASP.NET 核心 JWT 身份驗證總是拋出 401 未授權的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我正在嘗試盡可能簡單地在我的 asp.net 核心 webAPI 上實現 JWT 身份驗證.我不知道我錯過了什么,但即使使用 proper 不記名令牌,它也總是返回 401.

                  I'm trying to implement JWT authentication on my asp.net core webAPI as simply as possible. I don't know what i'm missing but it's always returning 401 even with the proper bearer token.

                  這是我的 configureServices 代碼

                  here is my configureServices code

                  public void ConfigureServices(IServiceCollection services)
                          {
                              services.AddAuthentication(x =>
                              {
                                  x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                                  x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
                  
                              }).AddJwtBearer(
                                 x =>
                                 {
                                     x.RequireHttpsMetadata = false;
                                     x.SaveToken = true;
                                     x.TokenValidationParameters = new TokenValidationParameters
                                     {
                                         ValidateIssuerSigningKey = true,
                                         IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("A_VERY_SECRET_SECURITY_KEY_FOR_JWT_AUTH")),
                                         ValidateAudience = false,
                                         ValidateIssuer = false,
                                     };
                                 }
                                  );
                              services.AddControllers();
                  
                              services.AddDbContext<dingdogdbContext>(options =>
                                      options.UseSqlServer(Configuration.GetConnectionString("dingdogdbContext")));
                          }
                  
                  

                  這就是我生成令牌的方式

                  and this is how I'm generating token

                          [AllowAnonymous]
                          [HttpPost("/Login")]
                          public ActionResult<User> Login(AuthModel auth)
                          {
                              var user = new User();
                              user.Email = auth.Email;
                              user.Password = auth.Password;
                              //var user = await _context.User.SingleOrDefaultAsync(u=> u.Email == auth.Email && u.Password==auth.Password);
                              //if(user==null) return NotFound("User not found with this creds");
                  
                              //starting token generation...
                              var tokenHandler = new JwtSecurityTokenHandler();
                              var seckey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("A_VERY_SECRET_SECURITY_KEY_FOR_JWT_AUTH"));
                              var signingCreds = new SigningCredentials(seckey, SecurityAlgorithms.HmacSha256Signature);
                              var token = tokenHandler.CreateToken(new SecurityTokenDescriptor
                              {
                                  Subject = new System.Security.Claims.ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Id.ToString()) }),
                                  SigningCredentials = signingCreds,
                                  Expires = DateTime.UtcNow.AddDays(7),
                              });
                              user.Token = tokenHandler.WriteToken(token);
                              return user;
                          }
                  

                  我在 app.useRouting() 之后添加了 app.useAuthorization().當我向/Login 發送 POST 請求時,我得到了令牌.但是當我使用令牌查詢使用郵遞員的任何其他端點時(在郵遞員的授權/JWT 中添加令牌)每次都獲得 401 未經授權.我還缺少什么嗎?

                  And I added app.useAuthorization() very after the app.useRouting(). when i'm sending POST request to /Login I'm getting the token. but when I'm using the token in for querying any other endpoint using postman(added the token in authorization/JWT in postman) getting 401 unauthorized every time. is there anything I'm missing still?

                  推薦答案

                  記住 UseAuthenticationUseRoutingUseAuthorization 中間件必須正確,以便 ASP 框架正確地將身份上下文注入 http 請求.

                  Keep in mind that the UseAuthentication, UseRouting and UseAuthorization middleware must in correct in order for the ASP framework properly inject the identity context to http request.

                  它應該看起來像這樣:(.NET Core 3.1)

                  It should look like this: (.NET Core 3.1)

                  相同的代碼適用于 .NET 5 &.NET 6

                  the same code applies to .NET 5 & .NET 6

                              app.UseAuthentication();
                              app.UseRouting();
                              app.UseAuthorization();
                              app.UseEndpoints(endpoints =>
                              {
                                  endpoints.MapControllers();
                              });
                  

                  這篇關于ASP.NET 核心 JWT 身份驗證總是拋出 401 未授權的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

                  相關文檔推薦

                  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)
                  ASP.net C# Gridview ButtonField onclick event(ASP.net C# Gridview ButtonField onclick 事件)
                  Adding OnClick event to ASP.NET control(將 OnClick 事件添加到 ASP.NET 控件)
                  Multiple submit Button click problem?(多個提交按鈕點擊問題?)
                  <legend id='McVAC'><style id='McVAC'><dir id='McVAC'><q id='McVAC'></q></dir></style></legend>
                    <bdo id='McVAC'></bdo><ul id='McVAC'></ul>
                    • <tfoot id='McVAC'></tfoot>

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

                          <tbody id='McVAC'></tbody>

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

                          • 主站蜘蛛池模板: 超碰在线观看免费 | 免费v片在线观看 | 中文一区二区 | 中文字幕+乱码+中文乱码91 | 97人人插| 国产精品二区一区二区aⅴ污介绍 | 亚洲狠狠干 | 大尺度做爰床戏呻吟舒畅 | 婷婷四房综合激情五月 | 99精品久久久久久 | 国产传媒在线观看 | 国产精品久久久久久久成人午夜 | 欧美三级又粗又硬 | 夜夜嗨av一区二区三区网页 | 成年人国产 | 五月婷婷综合在线 | 日韩一区在线播放 | 一区二区黄色 | 国产一级黄 | 中国少妇xxxxhd做受 | 亚洲黄色一级 | 久久性| 久久久久久网 | 永久免费看mv网站入口亚洲 | a级片在线 | 久久久一区二区三区 | www一级片 | 久久小视频 | 成年人av| 国产91av在线| 99精品久久久 | 色婷婷中文字幕 | 中文字幕在线看片 | 亚洲一区二区在线免费观看 | 日韩欧美黄色片 | 国产精品久久久一区二区 | 亚洲精品网站在线观看 | 亚洲精品色 | 欧美mv日韩mv国产 | av免费不卡 | 精品福利在线观看 |