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

8,670

Solution 1

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

<script src="https://www.gstatic.com/firebasejs/7.8.0/firebase-auth.js"></script>

Solution 2

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.

Share:
8,670
Hirotaka Nishimiya
Author by

Hirotaka Nishimiya

Updated on December 12, 2022

Comments

  • Hirotaka Nishimiya
    Hirotaka Nishimiya over 1 year

    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;
    }