我有一个要缓存的Azure托管身份访问令牌。我不确定检查令牌是否已过期的正确方法。我正在缓存expires_on属性,Micrososft将该属性解释为“访问令牌过期的时间跨度。该日期表示为从“ 1970-01-01T0:0:0Z UTC”开始的秒数。”
这是否意味着令牌中的expires_on属性已经是Utc格式?我不确定是否可以在Utc中检查日期时间并将其直接与之进行比较。我非常担心,如果我的逻辑错误,我将一遍又一遍地返回过期的令牌-破坏应用程序。
我当前的支票是:
var tokenExp = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
tokenExp = tokenExp.AddSeconds(Int32.Parse(cachedExpiresOn)); // cachedExpiresOn is "1588350330"
if (tokenExp > DateTime.UtcNow)
{
// return cached token
} else
{
// fetch token and cache
}
答案 0 :(得分:1)