Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"NoSuchMethodError: tried to call a non-function, such as null: 'dart.global.firebase.auth'" when initializing auth() in flutter for web

I'm trying to implement sign-in function with Firebase Authentication in Flutter for Web app. I can already use Firestore to store/ extract data in the same app without signing-in.

When executing the app, it shows the error "NoSuchMethodError: tried to call a non-function, such as null: 'dart.global.firebase.auth'"

I think the error is caused by calling auth() method.

Can you please advise how I should fix it? Or, is Firebase Authentication not supported Flutter for web yet??

Imported firebase.dart. https://firebase.google.com/docs/reference/js/firebase

import 'package:firebase/firebase.dart';

Initialized an object with auth() and called sign-in method from the parameter.

final Auth _auth = auth();

Future<UserCredential> signIn(String email, String password) async {
  final UserCredential user = await _auth.signInAndRetrieveDataWithEmailAndPassword(email, password);
  return user;
}
like image 994
Hirotaka Nishimiya Avatar asked Jul 19 '19 14:07

Hirotaka Nishimiya


2 Answers

You need include this in your index.html file too:

<script src="https://www.gstatic.com/firebasejs/7.8.0/firebase-auth.js"></script>
like image 105
Travis Reeder Avatar answered Sep 21 '22 18:09

Travis Reeder


In my case I had to refresh the cache, reload/hot reload dart with R is not enough, so go on chrome and press CTRL+SHIFT+R at the same time to clear the cache.

like image 42
Antonin GAVREL Avatar answered Sep 20 '22 18:09

Antonin GAVREL