我有一个自定义身份验证器,它实际上只是扩展了oauth2身份验证器,因此我可以通过POST到/ token将额外的信息传递给API。
一切正常。但是,当您执行页面刷新并且会话尝试还原时,我将重定向到登录页面并且未经过身份验证。
restore()
方法,如果仍然在有效期内并且有一个令牌应该并且确实以data
解决,但是这不会对会话进行身份验证。
有什么想法吗?
restore: function(data) {
var _this = this;
return new Ember.RSVP.Promise(function(resolve, reject) {
var now = (new Date()).getTime();
if (!Ember.isEmpty(data.expires_at) && data.expires_at < now) {
if (_this.refreshAccessTokens) {
_this.refreshAccessToken(data.expires_in, data.refresh_token).then(function(data) {
resolve(data);
}, reject);
} else {
reject();
}
} else {
if (Ember.isEmpty(data.access_token)) {
reject();
} else {
_this.scheduleAccessTokenRefresh(data.expires_in, data.expires_at, data.refresh_token);
Ember.run(function() {
log('returning restore')
log(data) //shows my previous session data including access_token
resolve(data);
})
}
}
});
},