Ionic2 rc4 및 Firebase 인증을 사용하고 있습니다. signupFirebaseUser()
으로 전화하면 예상대로 uid
이 기록됩니다. 그러나 loginGoogle()
을 호출하면 다른 uid
을 기록 할 것으로 예상되지만 동일한 uid
을 인쇄합니다.Firebase 로그인 - uid를 재설정하는 방법?
이것은 사용자가 email address
및 password
로 로그인 로그 아웃 한 다음 자신의 옛 uid
을 유지하고 싶어하기 때문에 자신의 Google 계정 (다른 이메일 주소)를 사용하여 로그인을 다시 할 수 없음을 의미합니다.
signupFirebaseUser(email: string, password: string): firebase.Promise<any> {
return this.fireAuth.createUserWithEmailAndPassword(email, password).then((newUser: firebase.User) => {
console.log(newUser.uid);
this.userProfile.child(newUser.uid).set({ email: email });
newUser.sendEmailVerification();
});
}
는
public logout(auth: FirebaseAuth, fireAuth: firebase.auth.Auth): Promise<any> {
return auth.logout().then(() => {
fireAuth.signOut().then(() => {
});
});
}
는
loginGoogle() {
this.auth.login({
provider: AuthProviders.Google,
method: AuthMethods.Popup
}).then((data: FirebaseAuthState) => {
console.log(data.uid);
}).catch((error) => {
console.error('loginGoogle', error);
});
}
질문
어떻게 이전 uid
을 잊지하기 위해 중포 기지 인증을 재설정합니까? 그래서 당신이 다시 로그인 할 때, 당신은 깨끗한 출발부터 그렇게합니다.
즉, 각 제공자 (Google, Facebook, 이메일)에 대해 새로운 uid
을 생성하십시오.
도움을 주시면 감사하겠습니다.
한 가지 방법은 user.delete()를 사용하여 사용자를 삭제 한 다음 다시 만들면 자동으로 새 UID가됩니다. – AndroidBeginner
네, 맞습니다. 그러나 이전 사용자로 다시 로그인하려는 경우 (즉, 사용자를 계속 전환하는 경우) 어떻게됩니까? 각 사용자에 대해 데이터를 저장하기 때문에 계정을 삭제하고 싶지 않습니다. – Richard
죄송합니다. 문제를 이해하지 못했습니다. Google 로그인을 위해 새로운 Firebase Auth API를 사용해보실 수 있습니까? (https://firebase.google.com/docs/auth/web/google-signin). Cordova 지원이 필요한 경우 OAuth 플러그인 (예 : https://github.com/nraboy/ng-cordova-oauth)을 사용하고 반환 된 액세스 토큰을 사용하여 signInWithCredential()을 호출 할 수 있습니다. –