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

Commit c543b53

Browse files
Set the currentUser in this Web API function: createUserWithEmailAndPassword #770
1 parent 766e606 commit c543b53

File tree

6 files changed

+41
-33
lines changed

6 files changed

+41
-33
lines changed

demo/app/main-view-model.ts

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -169,16 +169,19 @@ export class HelloWorldModel extends Observable {
169169
}
170170

171171
public doWebCreateUser(): void {
172-
firebaseWebApi.auth().createUserWithEmailAndPassword('[email protected]', 'firebase')
173-
.then(result => {
172+
firebaseWebApi.auth().createUserWithEmailAndPassword('[email protected]', 'firebase')
173+
.then((user: User) => {
174+
console.log("User created: " + JSON.stringify(user));
175+
this.set("userEmailOrPhone", user.email);
174176
alert({
175177
title: "User created",
176-
message: JSON.stringify(result),
178+
message: JSON.stringify(user),
177179
okButtonText: "Nice!"
178180
});
179181
})
180182
.catch(
181183
error => {
184+
console.log("Error creating user: " + error);
182185
alert({
183186
title: "No user created",
184187
message: JSON.stringify(error),
@@ -191,12 +194,15 @@ export class HelloWorldModel extends Observable {
191194
public doWebGetCurrentUser(): void {
192195
const user = firebaseWebApi.auth().currentUser;
193196
if (user) {
197+
console.log("Current user: " + JSON.stringify(user));
198+
this.set("userEmailOrPhone", user.email);
194199
alert({
195200
title: "Current user",
196201
message: JSON.stringify(user),
197202
okButtonText: "Nice!"
198203
});
199204
} else {
205+
console.log("No current user");
200206
alert({
201207
title: "No current user",
202208
okButtonText: "OK, thanks"
@@ -690,10 +696,11 @@ export class HelloWorldModel extends Observable {
690696

691697
public doGetCurrentUser(): void {
692698
firebase.getCurrentUser().then(
693-
result => {
699+
user => {
700+
this.set("userEmailOrPhone", user.email);
694701
alert({
695702
title: "Current user",
696-
message: JSON.stringify(result),
703+
message: JSON.stringify(user),
697704
okButtonText: "Nice!"
698705
});
699706
},
@@ -814,20 +821,23 @@ export class HelloWorldModel extends Observable {
814821

815822
public doCreateUser(): void {
816823
firebase.createUser({
817-
824+
email: 'eddyverbruggen+firebasetest@gmail.com',
818825
password: 'firebase'
819826
}).then(
820-
result => {
827+
(user: User) => {
828+
console.log("User created: " + JSON.stringify(user));
829+
this.set("userEmailOrPhone", user.email);
821830
alert({
822831
title: "User created",
823-
message: JSON.stringify(result),
832+
message: JSON.stringify(user),
824833
okButtonText: "Nice!"
825834
});
826835
},
827-
errorMessage => {
836+
error => {
837+
console.log("Error creating user: " + error);
828838
alert({
829839
title: "No user created",
830-
message: errorMessage,
840+
message: error,
831841
okButtonText: "OK, got it"
832842
});
833843
}

docs/AUTHENTICATION.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -333,10 +333,10 @@ This may not work on an (Android) simulator. See #463.
333333
334334
password: 'firebase'
335335
}).then(
336-
function (result) {
336+
function (user) {
337337
dialogs.alert({
338338
title: "User created",
339-
message: "userid: " + result.key,
339+
message: "email: " + user.email,
340340
okButtonText: "Nice!"
341341
})
342342
},
@@ -355,14 +355,15 @@ This may not work on an (Android) simulator. See #463.
355355
<summary>Web API</summary>
356356

357357
```typescript
358-
firebaseWebApi.auth().signOut()
359-
.then(() => console.log("Logout OK"))
360-
.catch(error => "Logout error: " + JSON.stringify(error));
358+
firebaseWebApi.auth().createUserWithEmailAndPassword('[email protected]', 'firebase')
359+
.then((user: User) => {
360+
console.log("User created: " + JSON.stringify(user));
361+
})
362+
.catch(error => console.log("Error creating user: " + error));
361363
```
362364
</details>
363365

364366

365-
366367
#### Resetting a password
367368
```js
368369
firebase.resetPassword({

src/app/auth/index.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,16 @@ export module auth {
7070
});
7171
}
7272

73-
public createUserWithEmailAndPassword(email: string, password: string): Promise<any> {
74-
return firebase.createUser({
75-
email: email,
76-
password: password
77-
});
73+
public createUserWithEmailAndPassword(email: string, password: string): Promise<User> {
74+
return new Promise((resolve, reject) => {
75+
firebase.createUser({
76+
email: email,
77+
password: password
78+
}).then((user: User) => {
79+
this.currentUser = user;
80+
resolve(user);
81+
}).catch(err => reject(err));
82+
})
7883
}
7984

8085
public signInAnonymously(): Promise<any> {

src/firebase.android.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1470,7 +1470,8 @@ firebase.createUser = arg => {
14701470
reject("Creating a user failed. " + (task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
14711471
} else {
14721472
const user = task.getResult().getUser();
1473-
resolve({key: user.getUid()});
1473+
const additionalUserInfo = task.getResult().getAdditionalUserInfo();
1474+
resolve(toLoginResult(user, additionalUserInfo));
14741475
}
14751476
}
14761477
});

src/firebase.d.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -338,13 +338,6 @@ export interface AddEventListenerResult {
338338
listeners: Array<any>;
339339
}
340340

341-
/**
342-
* The returned object from the createUser function.
343-
*/
344-
export interface CreateUserResult {
345-
key: string;
346-
}
347-
348341
/**
349342
* The options object passed into the createUser function.
350343
*/
@@ -802,7 +795,7 @@ export function fetchSignInMethodsForEmail(email: string): Promise<Array<string>
802795

803796
export function sendEmailVerification(): Promise<any>;
804797

805-
export function createUser(options: CreateUserOptions): Promise<CreateUserResult>;
798+
export function createUser(options: CreateUserOptions): Promise<User>;
806799

807800
export function deleteUser(): Promise<any>;
808801

src/firebase.ios.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1589,9 +1589,7 @@ firebase.createUser = arg => {
15891589
if (error) {
15901590
reject(error.localizedDescription);
15911591
} else {
1592-
resolve({
1593-
key: authResult.user.uid
1594-
});
1592+
resolve(toLoginResult(authResult.user, authResult.additionalUserInfo));
15951593
}
15961594
};
15971595

0 commit comments

Comments
 (0)