- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在实现 mechanizm 来管理我的应用程序中的 token ,并且我使用这样的代码来创建 JwtSecurityToken
var securityTokenDescriptor = new SecurityTokenDescriptor()
{
Subject = claims,
SigningCredentials = signingCredentials,
Expires = DateTime.UtcNow.AddMinutes(ACCESS_TOKEN_LENGHT_MINUTES),
IssuedAt = DateTime.UtcNow
};
var tokenJwt = tokenHandler.CreateJwtSecurityToken(securityTokenDescriptor);
意外地,“tokenJwt”中的日期与 securityTokenDescriptor 中的日期不同
带有“Expires”的“ValidTo”和带有“IssuedAt”的“ValidFrom”在整整一小时内不同。
我想这与夏令时/冬令时之间的时间变化有关(目前是冬令时),或者我住在 UTC +1:00 时区。
我尝试同时使用 DateTime.Now 和 DateTime.UtcNow 但它们都存在相同的问题
有谁知道为什么会这样并且知道这些问题的解决方案吗?
最佳答案
我遇到过类似的问题,并且找到了解决方案。
而不是使用
IssuedAt = DateTime.UtcNow
你想使用
NotBefore = DateTime.UtcNow
好像是
SecurityToken.ValidFrom
从 NotBefore 字段中获取它的值,如果您不提供它,它会自动生成一个。
希望这对您有所帮助。
关于c# - JwtSecurityToken 与 SecurityTokenDescriptor 中的日期不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42575898/
在 token 验证中,我检查了 token 的生命周期,它是13:07:10。当我运行验证时,时间是 13:12,验证成功。 为什么? 当大约是 13:15 时,我再次运行验证,结果如预期的那样抛出
我需要检查我的 JwtSecurityToken 是否过期。 我正在使用 System.IdentityModel.Tokens.Jwt 库。 当我像这样创建一个 JwtSecurityToken 时
我目前在 System.IdentityModels.Tokens 命名空间中使用 JwtSecurityToken 类。我使用以下方法创建 token : DateTime expires = Da
我对 JwtSecurityTokens 还很陌生,我试着去了解它的不同方面,甚至是整个 claimsidentity和 claimprincipal ,但那是另一回事了。 我尝试在 中生成 toke
我正在实现 mechanizm 来管理我的应用程序中的 token ,并且我使用这样的代码来创建 JwtSecurityToken var securityTokenDescriptor = new
我有两个库。一个消耗另一个,消耗库本身由 Web 应用程序使用。 Web 应用程序返回以下错误,而实例化类型的代码(掺杂 JWT 签名验证)在两个库的单元测试中成功执行。库、应用程序是目标框架 .NE
我的 AuthServer 当前正在使用以下代码生成 JwtSecurityToken: var token = new JwtSecurityToken(_issuer, audienceId, d
以下代码: using System.IdentityModel.Tokens; JwtSecurityToken jwtSecurityToken = new JwtSecurityToken(ra
我是一名优秀的程序员,十分优秀!