Javascript 如何检查google访问令牌日期是否过期
我想检查我数据库中的accesstoken是否过期 我正在使用meteor框架,当我登录时,它保存在我的数据库中,如下所示Javascript 如何检查google访问令牌日期是否过期,javascript,meteor,google-oauth,momentjs,Javascript,Meteor,Google Oauth,Momentjs,我想检查我数据库中的accesstoken是否过期 我正在使用meteor框架,当我登录时,它保存在我的数据库中,如下所示 "expiresAt" : ISODate("2015-03-24T07:03:41.000Z"), 我正在尝试使用以下方法检查此日期是否过期 var dd=new Date(google.expiresAt).getTime(); if(dd < Date.now()){ var r = HTTP.post("https://accou
"expiresAt" : ISODate("2015-03-24T07:03:41.000Z"),
我正在尝试使用以下方法检查此日期是否过期
var dd=new Date(google.expiresAt).getTime();
if(dd < Date.now()){
var r = HTTP.post("https://accounts.google.com/o/oauth2/token",{
params: {
'client_id': googleConf.clientId,
'client_secret': googleConf.secret,
'refresh_token': google.refreshToken,
'grant_type': 'refresh_token'
}
});
}
var expiry=new Date((new Date) + r.data.expires_in * 1000);
var dd=新日期(google.expiresAt.getTime();
如果(dd
像这样更新,这些代码不起作用
我也试过这个
if (google.expiresAt < +(new Date()).toISOString() + 10 * 1000) {
var r = HTTP.post("https://accounts.google.com/o/oauth2/token",{
params: {
'client_id': googleConf.clientId,
'client_secret': googleConf.secret,
'refresh_token': google.refreshToken,
'grant_type': 'refresh_token'
}
});
}
var expiry=new Date((new Date) + r.data.expires_in * 1000);
if(google.expiresAt<+(new Date()).toISOString()+10*1000){
var r=HTTP.post(“https://accounts.google.com/o/oauth2/token",{
参数:{
“客户端id”:googleConf.clientId,
“客户机密”:googleConf.secret,
“刷新令牌”:google.refreshttoken,
“授权类型”:“刷新令牌”
}
});
}
var到期=新日期((新日期)+r.data.expires_in*1000);
这两种方法都不起作用,如何确切地知道日期是否过期Access令牌在一小时后过期。当你拿到它时记录,如果超过一个小时,就换一个新的。@DaImTo糟糕的举动。访问令牌总是带有一个expires值,这是您应该使用的值,而不是假设为1小时。例如,{“访问令牌”:“1/fFBGRNJru1FQd44AzqT3Zg”,“expires_in”:3920,“令牌类型”:“Bearer”}我总是让客户机库来处理它easier@noName你能不能详细谈谈“不工作”。预期结果与实际结果是什么?虽然我的令牌过期,但循环没有执行,检查工作不正常