小编Tim*_*der的帖子

即使我将 Expires 设置为 null,为什么 JWT 仍包含 EXP 声明?

我需要不朽的 JWT 令牌。当然,我可以为 Expires 设置一些大的值,但我更喜欢在我的令牌中根本没有 exp 声明。标准.net core CreateEncodedJwt允许在expires、notBefore、issuedAt中传递null。我为所有这些传递 null,并且我的令牌包含 exp 令牌(+1 小时)。到底是怎么回事?!

var securityKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("FF804E8A-2A0E-4F94-A6F5-8325822F8DF5"));

var claims = new List<Claim>
{
    new Claim("type1", "value1"),
    new Claim("type2", "value2")

};

var token = new JwtSecurityTokenHandler().CreateEncodedJwt(
    issuer: null,
    audience: null,
    subject: new ClaimsIdentity(claims),
    notBefore: null,
    issuedAt: null,
    expires: null,
    signingCredentials: new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256));
Run Code Online (Sandbox Code Playgroud)

这是解析工具: https: //jwt.io

这是我的令牌:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlMSI6InZhbHVlMSIsInR5cGUyIjoidmFsdWUyIiwibmJmIjoxNTY1NDI5MzY2LCJleHAiOjE1NjU0MzI5NjYsImlhdCI6MTU2NTQyOTM2Nn0.U vJiOQNO_yMzdenf5jAotPHj7zrcEUApraezzcVSicA

里面是这样的:

{“类型1”:“值1”,“类型2”:“值2”,“nbf”:1565429366,“exp”:1565432966,“iat”:1565429366}

请帮助摆脱 nbf、exp、iat。提前致谢!

c# jwt asp.net-core

6
推荐指数
1
解决办法
2889
查看次数

BigInteger.Parse 工作不正常

这对我来说很奇怪,但你可以试试这个简短的代码:

var num1 = BigInteger.Parse("1e+9999", NumberStyles.AllowExponent);
var num2 = BigInteger.Parse("1e+9998", NumberStyles.AllowExponent);
var div = num1 / num2; // is 1, but must be 10
var eq = num1 == num2; // true, but must be false
Run Code Online (Sandbox Code Playgroud)

建议?

.net math biginteger

4
推荐指数
1
解决办法
126
查看次数

标签 统计

.net ×1

asp.net-core ×1

biginteger ×1

c# ×1

jwt ×1

math ×1