2017-06-05 54 views
0

我开始越来越托里和余烬为登录页面的工作,但是当我尝试使用与Ember简单的身份验证我得到的错误:烬-简单权威性和牌坊火力类型错误:转换圆形结构,以JSON

TypeError: Converting circular structure to JSON 
    at JSON.stringify (<anonymous>) 
    at Class.persist (local-storage.js:45) 
    at Class.persist (adaptive.js:163) 
    at Class._callStoreAsync (internal-session.js:132) 
    at Class._updateStore (internal-session.js:207) 
    at Class._setup (internal-session.js:156) 
    at internal-session.js:61 
    at tryCatch (ember.debug.js:50180) 
    at invokeCallback (ember.debug.js:50195) 
    at publish (ember.debug.js:50163) 

不知道它的bug或我失去了一些东西,需要设置。很快做出了回购这说明我的问题https://github.com/tobias-g/ember-simple-auth-firebase其中差异https://github.com/tobias-g/ember-simple-auth-firebase/commit/02882f4db3a0320d4ac314d2e92192ac522470f8显示我添加了什么尝试并获得烬简单的身份验证工作。

DEBUG: ------------------------------- 
DEBUG: Ember    : 2.13.3 
DEBUG: Ember Data  : 2.13.1 
DEBUG: Firebase   : 3.9.0 
DEBUG: EmberFire   : 0.0.0 
DEBUG: jQuery   : 3.2.1 
DEBUG: Ember Simple Auth : 1.3.0 
DEBUG: ------------------------------- 
+1

你知道,Firebase拥有自己的已经使用Torii的认证系统。我不知道你在做什么用例是,但我发现灰烬,简单权威性和火力地堡是多余的。 https://github.com/firebase/emberfire/blob/master/docs/guide/authentication.md – Cameron

+0

是啊,我得到了火力认证的第一工作正常提交,但想用余烬,简单AUTH DataAdapterMixin我模型和AuthenticatedRouteMixin的路线。如果我不能修复它,我会想我必须处理我自己没有混入,可能有写一点样板代码。 – Tobias

回答

0

Emberfire发回的data.authenticated负载过于复杂,并且有循环引用。灰烬简单验证存储该有效载荷到本地存储,以防止登录提示时,清新的或其他选项卡上打开的应用程序。

什么似乎现在为我工作(我没有测试太多)是扩展会议商店。因人而异。

// app/session-stores/application.js 

import AdaptiveStore from 'ember-simple-auth/session-stores/adaptive'; 

export default AdaptiveStore.extend({ 

    persist(data) { 
    const a = data.authenticated; 

    const subset = { 
     authenticator: a.authenticator, 
     email: a.email, 
     provider: a.provider, 
     refreshToken: a.refreshToken, 
     uid: a.uid 
    } 

    return this._super({ authenticated: subset }); 
    } 

}); 
相关问题