2016-06-14 7 views
32

new docs의 (불투명) 예 :이 credential 객체를 생성하는 방법에 V3를 중포 기지 클라이언트와Firebase web user.reauthenticate() 메소드에 필요한 "자격 증명"객체를 만드는 방법은 무엇입니까?

var user = firebase.auth().currentUser; 
var credential; 
// Prompt the user to re-provide their sign-in credentials 
user.reauthenticate(credential).then(function() { 

?

내가 시도 :

  • reauthenticate(email, password)
  • reauthenticate({ email, password }) (로그인 방법 등) (워드 프로세서 언급 한 인수 만)

운 :(

PS : 새로운 문서에서 관련 정보를 찾는 데 낭비되는 시간을 계산하지 않습니다 ... 멋진 firebase이 그리워요. co.kr docs.하지만 firebase.storage에 대해 v3으로 전환하고 싶었습니다.

답변

57

나는 그것이, 워드 프로세서에 너무 많은 시간을 보내고 싶어하지 않는 사람이를 포함하도록 업데이트해야 작동하도록 관리하는 철저한-하지만 :

는 나는 다음과 같이 보일 것이다 가정 -hard-to-read 참조.

자격 증명 개체과 같이 생성됩니다

const user = firebase.auth().currentUser; 
const credential = firebase.auth.EmailAuthProvider.credential(
    user.email, 
    userProvidedPassword 
); 
+0

나는 도중에 있었다. :) – adolfosrs

+3

당신이 해결책을 찾았다는 소식을 듣기 좋습니다! 문서를 업데이트/명확히하기 위해 메모를 추가하겠습니다. 그리고 특정 목적을 위해 모든 페이지에 피드백 버튼이 있다는 것을 명심하십시오. :-) –

+0

쿨, +1 피드백 버튼 (처음에는 보지 못했습니다) @Pandaiolo – Pandaiolo

0

나는 문서가 이에 대해 명확하지 않다는데 동의합니다. 그러나 API 참조에서 좀 더 자세히 살펴보면 firebase.auth.AuthCredentialthis을 발견했으며 reauthenticate()으로 전달해야합니다.

나는 여기서 개체가 있는지 확인하기 위해 firebase.auth()을 기록하기 시작합니다.

user.reauthenticate(firebase.auth().credential).then(function() { 
+0

나는 그것을 작동시킬 수 있었다, 나는 대답을 쓰고있다. 답변에 전자 메일과 암호를 잊었습니다. – Pandaiolo

+0

추측이 작동하지 않습니다. – Rohmer

-1
final FirebaseUser fireBaseUser = FirebaseAuth.getInstance().getCurrentUser(); 
AuthCredential credential = EmailAuthProvider.getCredential(fireBaseUser.getEmail(), storedPassword); 
fireBaseUser.reauthenticate(credential).addOnCompleteListener(new OnCompleteListener<Void>() { 
    @Override 
    public void onComplete(@NonNull Task<Void> reAuthenticateTask) { 
      if (!reAuthenticateTask.isSuccessful()) 
       ... 
    } 
}); 
+0

이것은 자바 스크립트가 아닙니다 ... – Rohmer

8

완전한 답변 - 다음을 수행 할 수 있습니다

var user = firebase.auth().currentUser; 
var credentials = firebase.auth.EmailAuthProvider.credential(
    user.email, 
    'yourpassword' 
); 
user.reauthenticateWithCredential(credentials); 

reauthenticateWithCredentialreauthenticate()

의 업데이트 된 버전이 있습니다
+1

대답을 수락했다. – Rohmer