[英]ASP.NET Core : create JWT token with invalid date
I'm trying to get an JWT token:我正在尝试获取 JWT 令牌:
public async Task<string> GetAccessToken()
{
var exp = await context.GetTokenAsync("expires_at");
var expires = DateTime.Parse(exp);
if (expires > DateTime.Now)
{
return await context.GetTokenAsync(OpenIdConnectParameterNames.AccessToken);
}
return await GetRefreshedAccessToken();
}
But when I put the JWT string that was accepted in the token in https://token.dev/但是当我将令牌中接受的 JWT 字符串放入https://token.dev/
I get invalid date on "auth_time" - why and how can I fix it?我在“auth_time”上得到无效日期 - 为什么以及如何解决它?
In JWT, the fields about time are in Unix Timestamp
format. JWT中关于时间的字段是Unix Timestamp
格式。
[HttpGet("GetUnixTimeStamp")]
public string GetAccessToken()
{
string dateStart = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:sszzz");
DateTime Start = DateTime.ParseExact(dateStart, "yyyy-MM-ddTHH:mm:sszzz", System.Globalization.CultureInfo.InvariantCulture);
long unixStart = (long)Start
.ToUniversalTime()
.Subtract(DateTime.UnixEpoch)
.TotalSeconds;
return unixStart.ToString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.