我们正在尝试使用 customToken 向 Firebase 进行身份验证 - 在我们迁移到 EmberCLI 之前,这一直有效,因为我们在应用运行时的后期启动了这些 Firebase 特定的适配器。
现在尝试在适配器的较早阶段启动 authCustomToken,流程如下:
- 启动适配器
- 挂钩“init”并从后端请求令牌
- 收到令牌时 - authWithCustomToken
代码看起来很像这样:
import DS from 'ember-data';
/**
* CartAdapter
* @class adapters.Cart
* @extends DS.FirebaseAdapter
*/
export default DS.FirebaseAdapter.extend(ajax, {
firebase: new Firebase('https://firebasehost.com'),
pathForType: function() {
return 'carts/' + this.get('sessionService').get('userId');
},
initAdapter: function() {
this.ajaxRequest('backendhost/firebase/').then(function(data) {
var ref = new Firebase('https://firebasehost.com');
ref.authWithCustomToken(data.token);
});
}.on('init')
});
解决这个问题的最佳方法是什么?