Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Commit 96c1fef

Browse files
Send Email Verification #214
1 parent 230106c commit 96c1fef

File tree

4 files changed

+78
-0
lines changed

4 files changed

+78
-0
lines changed

docs/AUTHENTICATION.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,3 +307,18 @@ Shouldn't be more complicated than:
307307
```
308308

309309

310+
### sendEmailVerification
311+
Sending an "email confirmation" email can be done after the user logged in:
312+
313+
```js
314+
firebase.sendEmailVerification().then(
315+
function () {
316+
console.log("Email verification sent);
317+
},
318+
function (error) {
319+
console.log("Error sending email verification: " + error);
320+
}
321+
);
322+
```
323+
324+

firebase.android.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,38 @@ firebase.getCurrentUser = function (arg) {
482482
});
483483
};
484484

485+
firebase.sendEmailVerification = function () {
486+
return new Promise(function (resolve, reject) {
487+
try {
488+
if (firebase.instance === null) {
489+
reject("Run init() first!");
490+
return;
491+
}
492+
493+
var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
494+
var user = firebaseAuth.getCurrentUser();
495+
if (user !== null) {
496+
var addOnCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
497+
onComplete: function(task) {
498+
if (!task.isSuccessful()) {
499+
reject((task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
500+
} else {
501+
resolve();
502+
}
503+
}
504+
});
505+
506+
user.sendEmailVerification().addOnCompleteListener(addOnCompleteListener);
507+
} else {
508+
reject("Log in first");
509+
}
510+
} catch (ex) {
511+
console.log("Error in firebase.sendEmailVerification: " + ex);
512+
reject(ex);
513+
}
514+
});
515+
};
516+
485517
firebase.logout = function (arg) {
486518
return new Promise(function (resolve, reject) {
487519
try {

firebase.ios.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,6 +628,35 @@ firebase.getCurrentUser = function (arg) {
628628
});
629629
};
630630

631+
firebase.sendEmailVerification = function () {
632+
return new Promise(function (resolve, reject) {
633+
try {
634+
var fAuth = FIRAuth.auth();
635+
if (fAuth === null) {
636+
reject("Run init() first!");
637+
return;
638+
}
639+
640+
var user = fAuth.currentUser;
641+
if (user) {
642+
var onCompletion = function(error) {
643+
if (error) {
644+
reject(error.localizedDescription);
645+
} else {
646+
resolve(true);
647+
}
648+
};
649+
user.sendEmailVerificationWithCompletion(onCompletion);
650+
} else {
651+
reject("Log in first");
652+
}
653+
} catch (ex) {
654+
console.log("Error in firebase.sendEmailVerification: " + ex);
655+
reject(ex);
656+
}
657+
});
658+
};
659+
631660
firebase.logout = function (arg) {
632661
return new Promise(function (resolve, reject) {
633662
try {

index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,8 @@ export function getAuthToken(option: GetAuthTokenOptions): Promise<string>;
510510

511511
export function logout(): Promise<any>;
512512

513+
export function sendEmailVerification(): Promise<any>;
514+
513515
export function createUser(options: CreateUserOptions): Promise<CreateUserResult>;
514516

515517
export function deleteUser(): Promise<any>;

0 commit comments

Comments
 (0)