カスタム トークンを使用して Firebase への認証を試みています。これは、アプリ ランタイムの後の段階でこれらの Firebase 固有のアダプターを開始したため、EmberCLI に移行する前に機能していました。
次のようなフローで、アダプターの初期段階で 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')
});
これにアプローチする最良の方法は何ですか?