如何修复“AuthResult”类型的值无法分配给“FirebaseUser”类型的变量

Ken*_*aki 1 android firebase firebase-authentication flutter

我试图将表单 firebaseuser 更改为 authresults

import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
abstract class AuthImplementaion {

}
class Auth implements AuthImplementaion {
  final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
  Future<String> SignIn(String _email, String _password) async{
    FirebaseUser user = await _firebaseAuth.signInWithEmailAndPassword(email: _email, password: _password);
    return user.uid;
  }
}
Run Code Online (Sandbox Code Playgroud)

消息:无法将“AuthResult”类型的值分配给“FirebaseUser”类型的变量。尝试更改变量的类型,或将右侧类型转换为“FirebaseUser”

Con*_*eer 16

_firebaseAuth.signInWithEmailAndPassword(email: _email, password: _password)返回AuthResult错误消息中提到的类似内容。但是AuthResult提供了一个user就是一个FirebaseUser

因此,您还必须致电.user

import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
abstract class AuthImplementaion {

}
class Auth implements AuthImplementaion {
  final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
  Future<String> SignIn(String _email, String _password) async{
    FirebaseUser user = (await _firebaseAuth.signInWithEmailAndPassword(email: _email, password: _password)).user;
    return user.uid;
  }
}
Run Code Online (Sandbox Code Playgroud)