2014-10-13 3 views
1

제 응용 프로그램에서는 인증 된 사용자의 fbRef.getAuth().uid 값을 기반으로하는 User 모델의 표준이 있다고 생각합니다. 익명 인증 공급자). 사용자가 인증/인증을 취소 할 때 동적으로 업데이트하는 글로벌 사용자가 있습니다.이 사용자는 기본 this.store.find('user') 호출을 사용하여 채워집니다.이전에 삭제 된 ID로 생성 된 레코드는 캐치 오류가 발생합니다.

사용자가 로그 아웃 한 다음 동일한 인증 ID로 다시 인증/로그인 할 때 문제가 발생합니다.

인가 (에서 로그 아웃/재 로깅을했던 사용자/브라우저 오류를받지 않습니다, 그러나 주)

Uncaught Error: Attempted to handle event pushedData on while in state root.deleted.uncommitted.

: 나는 다른 현재 연결된 브라우저의 콘솔에서 다음과 같은 오류를받을 이 시나리오에서 Emberfire에 의해 자동으로 삭제 된 레코드가 연결된 각 클라이언트의 캐시 된 저장소에서 완전히 커밋되었는지 또는 일부 일종의 제한인지 확인하기 위해 수행해야 할 작업이 있습니까?

var user = this.store.createRecord('user', { 
    id: fbRef.getAuth().uid, 
    nickname: nickname, 
    joinedAt: new Date() 
}); 

user.save(); 

그리고 로그 아웃 할 때 : 나는 기록을 작성하고 어떻게하면 사용자가 로그인 참고로

는, 여기

this.store.find('user', fbRef.getAuth().uid).then(function(user) { 
    user.destroyRecord(); 
}); 
+0

죄송합니다. 이전에 질문에 대해 오해했습니다. authAnonymous()는 Firebase 대시 보드에 표시된 동안 세션을 지속합니다. EmberFire 문제 인 것 같습니다. 나는 그것을 들여다 볼 것이고 당신에게 돌아갈 것이다. – Sara

+0

@Sara 문제 없습니다. 나는 실제로 내 벽난로 (http://livsey.org/fireplace)로 바꿨다. 내 요구에 더 잘 맞고 레코드 ID를 다시 사용할 때 문제가없는 것 같다. 이 문제가 엠버 파이어의 실제 문제인지, 아니면 내 호기심을 충족시키는 것만으로도 내 부분에 대한 오용이라고 알고 싶습니다. –

답변

5

당신이 authAnonymously()를 호출 할 때마다, 그것은 만듭니다 새로운 세션이 생성 될 때마다 새로운 uid. Firebase 대시 보드에서 세션 길이를 구성 할 수 있습니다.

사용자가 응용 프로그램에서 로그인 및 로그 아웃하도록하려면 Firebase의 email & password auth을 사용하거나 third-party providers으로 인증하는 것이 좋습니다.

+0

죄송합니다. 내 "로그 아웃"프로세스가하는 일에 대해 약간은 분명하지 않은 것 같아요. 실제로는/unix/uid에서 uid와 연결된 사용자를 삭제하는 unauth()를 실제로하지 않습니다. 필자가'authAnonymously()'라고 부르는 유일한 시간은 앱이 처음로드 될 때뿐 아니라 인증 된 세션이 아직없는 경우 (즉 앱에 한번도 가본 적이 없거나 브라우저를 닫거나 세션이 만료 된 경우) . –

+0

필자가 지금까지 테스트 한 내용과 문서에서 읽은 바는 uid가 유효하며 페이지 새로 고침과 여러 탭에서 지속된다는 점을 고려해야합니다. 왜냐하면 세션 길이가 허용하는 한 (현재 30 일로 설정되어 있습니다). 나는 이것을'authAnonymously()'를 통해 한 번 인증 한 다음 console.logging'getAuth() .uid'를 확인하여 페이지를 새로 고칩니다. [docs] (https://www.firebase.com/docs/web/guide/login/anonymous.html#section-logging-in)에 따르면, uid가 지속되지 않는 유일한 시간은' 기억 '은'절대로 '설정되지 않습니다. –

+0

죄송합니다, 이전에는 잘못되었습니다. uid는 세션 길이만큼 지속됩니다. 지금 오류를 들여다보십시오. – Sara

관련 문제