FirebaseAuthWeb constructor
FirebaseAuthWeb({
- required FirebaseApp app,
The entry point for the FirebaseAuthWeb class.
Implementation
FirebaseAuthWeb({required FirebaseApp app})
: _webAuth = auth_interop.getAuthInstance(core_interop.app(app.name)),
super(appInstance: app) {
// Create a app instance broadcast stream for both delegate listener events
_userChangesListeners[app.name] =
StreamController<UserPlatform?>.broadcast();
_authStateChangesListeners[app.name] =
StreamController<UserPlatform?>.broadcast();
_idTokenChangesListeners[app.name] =
StreamController<UserPlatform?>.broadcast();
// TODO(rrousselGit): close StreamSubscription
_webAuth!.onAuthStateChanged.map((auth_interop.User? webUser) {
if (!_initialized.isCompleted) {
_initialized.complete();
}
if (webUser == null) {
return null;
} else {
return UserWeb(this, webUser);
}
}).listen((UserWeb? webUser) {
_authStateChangesListeners[app.name]!.add(webUser);
});
// TODO(rrousselGit): close StreamSubscription
// Also triggers `userChanged` events
_webAuth!.onIdTokenChanged.map((auth_interop.User? webUser) {
if (webUser == null) {
return null;
} else {
return UserWeb(this, webUser);
}
}).listen((UserWeb? webUser) {
_idTokenChangesListeners[app.name]!.add(webUser);
_userChangesListeners[app.name]!.add(webUser);
});
}