我从Flipkart API获取访问令牌,并向我提供其到期时间的令牌。但我不知道他们在到期时间给出了什么,他们在几秒钟内给出了某种时间戳,因为我将这些秒转换为分钟,然后有56天就像即将发生的事情。当我阅读文档时,他们说令牌在60天后过期。但是当我点击API时,它每次都会在expiry_time字段中给出不同的时间戳。 例如,第一个时间它将给出: -
"access_token" : "0c87d3c8-824d-446b-bqf8-c14e7d49f06",
"expires_in" : 4773358
一段时间后我再次点击它然后返回: -
"access_token" : "0c87d3c8-824d-446b-bqf8-c14e7d49f06",
"expires_in" : 4840646
我只想通过其到期时间来验证此令牌,即如果令牌过期我需要再次点击并获得新的令牌。我如何检查令牌是否已过期。
如何使用java脚本或Meteor框架实现此目的。或者我也想知道他们给我这个时间戳的格式,我认为或在其他一些时间。他们说令牌在60天内过期但是我转换它只显示56天而不是60所以请解释如果有人知道的话,这也适用于我。
任何帮助将不胜感激
谢谢!
答案 0 :(得分:1)
我怀疑他们会给你一个在一周中某个特定日子午夜到期的代币而不是60 * 24 * 3600 = 5,184,000秒。要将此到期延迟转换为特定日期时间,请执行以下操作:
var now = new Date();
expiryDate = new Date(now.getTime() + expires_in*1000);
您必须乘以1000,因为getTime()
返回毫秒。
答案 1 :(得分:0)
我也有同样的问题,更多的是在另一个服务中。 看看我做了什么,当我生成令牌时,我在时间戳中设置了它的过期时间,并将其保存在cookie中,还保存了秒数,让我们假设您的令牌在一天后过期,因此您必须保存该时间戳是在创建令牌的同时生成的,并且令牌的持续时间在我们的情况下是以秒为单位的一天'以秒为单位的1天= 86400' 我不检查令牌来知道有多少时间到期,因为我需要使用节点,而是使用设置令牌到期时间加上有效负载链接时间戳记的秒数。 我计算保存在cookie中的时间戳和秒数,生成一个新的本地时间戳,然后减去。