This repository was archived by the owner on Apr 4, 2023. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -62,7 +62,8 @@ const firebaseWebApi = require("nativescript-plugin-firebase/app");
6262As stated [ here] ( https://firebase.google.com/docs/auth/ios/manage-users#get_the_currently_signed-in_user ) :
6363
6464> The recommended way to get the current user is by setting a listener on the Auth object
65-
65+ <details>
66+ <summary> Native API</summary >
6667 To listen to auth state changes you can register a listener during ` init ` :
6768
6869``` js
@@ -98,7 +99,35 @@ If - for some reason - you want more control over the listener you can use these
9899
99100 // check if already listening to auth state changes
100101 firebase .hasAuthStateListener (listener);
102+ ```
103+ </details >
104+
105+ <details >
106+ <summary >Web API</summary >
107+
108+ The callback handler in will be called with the currentUser (undefined if not signed in) upon attaching the listener
109+ and when the auth state changes.
110+
111+ ``` js
112+ firebaseWebApi .auth ().onAuthStateChanged ((user ?: User ) => {
113+ console .log (" >> auth state changed: " + user);
114+ if (user) {
115+ this .set (" userEmailOrPhone" , user .email ? user .email : (user .phoneNumber ? user .phoneNumber : " N/A" ));
116+ alert ({
117+ title: " User signed in" ,
118+ message: JSON .stringify (user),
119+ okButtonText: " Nice!"
120+ });
121+ } else {
122+ alert ({
123+ title: " User signed out" ,
124+ okButtonText: " Bye!"
125+ });
126+ }
127+ },
128+ error => console .log (" OnAuthChanged Error: " + error));
101129```
130+ </details >
102131
103132### Get Current User
104133Once the user is logged in you can retrieve the currently logged in user:
Original file line number Diff line number Diff line change @@ -44,11 +44,12 @@ export namespace auth {
4444 }
4545
4646 // Completed will never be called, but it is here to closely follow the web api interface.
47+ // When called, the callback handler will be passed in the currentUser or undefined if not signed in
4748 public onAuthStateChanged ( handler : ( user : User ) => void , error ?: ( err ) => any , completed ?: Unsubscribe ) : Unsubscribe {
4849 this . authStateChangedHandler = handler ;
4950 if ( error ) this . authStateOnErrorHandler = error ;
5051 console . log ( ">> added onAuthStateChanged handler" ) ;
51-
52+ handler ( this . currentUser ) ;
5253 return ( ) => {
5354 this . authStateChangedHandler = undefined ;
5455 this . authStateOnErrorHandler = undefined ;
You can’t perform that action at this time.
0 commit comments