2017-03-18 15 views
1

사용자가 생성 된 후 확인 이메일을 보내려고합니다. Firebase 자체에는 아무런 변화가 없으므로 클라우드 기능으로 시도하고 있습니다.Firebase Cloud 기능으로 사용자 생성 후 이메일 확인을 보내는 방법은 무엇입니까?

저는 그것에 대해 많은 문서를 찾을 수 없습니다. 지금까지 시도한 것은 다음과 같습니다.

exports.sendEmailVerification = functions.auth.user().onCreate(event => { 
    return user.sendEmailVerification() 
}); 

하지만 사용자가 정의되지 않은 오류가 발생합니다.

어떻게이 기능을 만들 수 있습니까?

감사합니다.

+0

해결책을 찾았습니까? – wonsuc

+0

아니, 나는 소파베이스로 바 꾸었습니다 – Davide

답변

5

@Alexander가 대답하고 댓글을 달아서 로그인 한 사용자 만 확인 이메일을 보내달라고 요청할 수 있습니다. 현재 클라우드 기능에서 사용하는 Admin SDK에서이 작업을 수행 할 수있는 방법이 없습니다. 오용 될 수 있기 때문입니다.

해당 기능을 Admin SDK에 추가하려면 file a feature request을 권해드립니다.

그동안 Cloud 기능을 사용하여 이메일 확인 과정을 직접 구현할 수 있습니다. 사용자가 인증 코드를 다시 받으면 관리자 SDK를 사용하여 속성을 true으로 설정할 수 있습니다. this section of the Firebase documentation for an example을 참조하십시오.

+0

고마워요. 이로 인해 제작 단계에서는 Firebase이 거의 쓸모 없게됩니다. 기능 요청을 보내 드리 겠지만 Firebase의 대안을 평가할 것입니다. – Davide

1

먼저 Firebase here의 설명서를 확인하십시오.

private void sendVerification() { 
      FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 
      user.sendEmailVerification().addOnCompleteListener(new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(@NonNull Task<Void> task) { 
        if (task.isSuccessful()) { 
         system.print.out("Verification Email sent Champion") 
          } 
         } 
       }); 
} 

사용자가 현재 확인 메일이 제공 될 것이다 : 등록 완료 단계로

성공의 결과 비동기 다음 함수를 발생시킨다. 하이퍼 링크를 클릭하면 사용자는 Firebase로 프로젝트 서버에 의해 확인됩니다.

enter image description here

어떻게 사용자가 자신의 이메일을 확인 않았다 여부를 결정합니까?

private void checkEmail() { 

    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 

    if (user.isEmailVerified()) { 
      // email verified ... 
    } else { 
     // error : email not verified ... 
    } 
} 

슬프게도, 당신이 당신의 확인 이메일의 내용/몸을 사용자 정의 할 수 있습니다 (I 무겁게 대안 덜 끔찍한 찾고 템플릿을 제공하기 위해 중포 기지 대응 한). 제목이나 메시지 보낸 사람 ID를 변경할 수는 있지만 그게 전부입니다.

지원되는 웹으로 응용 프로그램을 다시 링크하는 경우가 아니면 Here.

+0

고마워요.하지만 안드로이드가 아니라 Firebase 클라우드로 말했습니다. 나는 그것이 검증 이메일을 보내는 클라이언트 자체라는 점에서 매우 실망 스럽다. 그것은 백엔드 측면에서 와야한다. – Davide

+0

사용자가 등록 할 때 확인 전자 메일이 트리거되고 전달되도록 하시겠습니까? – Alexander

+0

가능하다면 ... – Davide