第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在c#asp.net core web api中創(chuàng)建jwt令牌

在c#asp.net core web api中創(chuàng)建jwt令牌

C#
月關(guān)寶盒 2022-10-23 13:29:41
我正在嘗試在用戶登錄后創(chuàng)建 JWT 令牌我正在根據(jù)以下項(xiàng)目執(zhí)行此操作: https ://github.com/CodAffection/JWT-Authentication-with-.Net-Core-Web-API-and-Angular -7/分支機(jī)構(gòu)我的應(yīng)用程序在字符串上失敗var securityToken = tokenHandler.CreateToken(tokenDescriptor);我收到錯(cuò)誤內(nèi)部服務(wù)器錯(cuò)誤 處理請(qǐng)求時(shí)發(fā)生未處理的異常。ArgumentOutOfRangeException:IDX10603:解密失敗。嘗試的鍵:'[PII 被隱藏]'這是控制器的完整代碼   [HttpPost]    [Route("Login")]    //Post: /api/ApplicationUser/Login    public async Task<IActionResult> Login(LoginModel model)    {        //  var user = await _userManager.FindByEmailAsync(model.UserName);        var user = await _userManager.FindByNameAsync(model.UserName);        if (user!=null && await _userManager.CheckPasswordAsync(user, model.Password))        {            var tokenDescriptor = new SecurityTokenDescriptor            {                Subject = new ClaimsIdentity(new Claim[]{                    new Claim("UserID",user.Id.ToString())                }),                //   Expires = DateTime.UtcNow.AddMinutes(5),                Expires = DateTime.UtcNow.AddDays(1),                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_appSettings.key)), SecurityAlgorithms.HmacSha256Signature)            };            var tokenHandler = new JwtSecurityTokenHandler();            var securityToken = tokenHandler.CreateToken(tokenDescriptor);            var token = tokenHandler.WriteToken(securityToken);            return Ok(new { token });           }        else        {            return BadRequest(new { message = "username or password is incorrect." });        }    }我閱讀了不同的手冊(cè),但找不到問(wèn)題,而且我的代碼與我試圖復(fù)制的項(xiàng)目完全相同。如果可能,請(qǐng)告訴我以哪種方式挖掘:)
查看完整描述

2 回答

?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊

你的邏輯是對(duì)的!但我認(rèn)為,您的密鑰沒(méi)有足夠的字符來(lái)創(chuàng)建訪問(wèn)令牌。只需增加密鑰長(zhǎng)度,它就可以正常工作。

更新:對(duì)于HmacSha256Signature,秘鑰長(zhǎng)度不小于128位;換句話說(shuō),它應(yīng)該至少有 16 個(gè)字符。


查看完整回答
反對(duì) 回復(fù) 2022-10-23
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

這是我用來(lái)構(gòu)建 jwt 令牌服務(wù)器端的代碼示例:


 private string BuildToken(User user)

    {

        var userSerialise = JsonConvert.SerializeObject(user);


        var claims = new[] {

            new Claim(ClaimTypes.Email, user.EmailAddress),

            new Claim(ClaimTypes.UserData, userSerialise)

        };


        var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));

        var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);


        var token = new JwtSecurityToken(_config["Jwt:Issuer"],

          _config["Jwt:Issuer"],

          claims,

          expires: DateTime.Now.AddMinutes(30), 

          signingCredentials: creds);


        return new JwtSecurityTokenHandler().WriteToken(token);


    }


查看完整回答
反對(duì) 回復(fù) 2022-10-23
  • 2 回答
  • 0 關(guān)注
  • 245 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)