久久久久久久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'>

                          • 主站蜘蛛池模板: 正在播放一区二区 | 亚洲精品中文字幕在线 | 精品国产乱码久久久久久1区2区 | 91麻豆产精品久久久久久夏晴子 | 国产在线网址 | 久久精品视频一区二区三区 | 亚洲毛片在线 | 99re在线视频观看 | 精品中文字幕一区二区三区 | 天天综合天天 | 国产精品免费一区二区三区四区 | 日韩欧美精品 | 欧美一区二| 欧美三区视频 | 国产精品夜色一区二区三区 | 色小姐综合网 | 毛片网络| 99色播 | 欧美美女一区二区 | 日韩av电影在线观看 | 亚洲永久入口 | 久久伊人一区二区 | 99精品国自产在线 | 免费欧美视频 | 国产免费看 | 国产一区二区电影 | 午夜视频在线免费观看 | a级在线免费视频 | 成人激情视频在线播放 | 精精国产xxxx视频在线播放 | 国产精品美女久久久久aⅴ国产馆 | 国内精品视频在线观看 | 日本三级在线 | 亚洲av一级毛片 | 成人亚洲视频 | 日本不卡一区二区 | 亚洲a视频| 欧美国产日韩在线观看成人 | 操操操日日日 | 久久福利 | 精品国产区 |