如何在项目中使用jwtsecuritytoken?

时间:2019-11-15 10:45:52

标签: c# jwt client token asp.net-core-webapi

我创建了一个.net核心api,它将向客户端发送jwtsecuritytoken。连接的用户要使用该应用程序的功能,每个功能都必须具有一个令牌,例如,该令牌的有效期为5分钟,并且该令牌在到期后必须刷新(如果没有错误)。

我开始编写一些东西,但是我不明白如何使用JwtSecurityToken。

private string GenerateToken()
{
    SymmetricSecurityKey key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"));

    Claim[] claims = new Claim[]
     {
         new Claim(ClaimTypes.Name , "test")
     };

     JwtSecurityToken jwt = new JwtSecurityToken(
         issuer : "Blinkingcaret",
         audience : "Everyone",
         claims : claims,
         notBefore : DateTime.UtcNow,
         expires : DateTime.UtcNow.AddMinutes(1),
         signingCredentials : new SigningCredentials(key, SecurityAlgorithms.HmacSha256)
     );

     return new JwtSecurityTokenHandler().WriteToken(jwt);
}

[HttpPost]
public ActionResult<string> Create()
{
    return GenerateToken();
}

我知道expires设置了令牌的结尾,但是如何测试呢? 我可以帮忙实现令牌的刷新吗?

0 个答案:

没有答案