我试图将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;
}
}
消息:无法将类型“ AuthResult”的值分配给“ FirebaseUser”类型的变量。尝试更改变量的类型,或将右侧类型强制转换为“ FirebaseUser”
答案 0 :(得分:1)
_firebaseAuth.signInWithEmailAndPassword(email: _email, password: _password)
返回一个AuthResult
,就像错误消息中提到的一样。但是AuthResult
提供了一个user
的{{1}}。
因此,您还必须致电FirebaseUser
:
.user
答案 1 :(得分:0)
将此分配给AuthResult变量,该变量又包含该用户,而该用户包含uid。
AuthResult authresult已包含具有uid的用户。 而不是返回user.uid 返回authResult.user.uid;
class Auth implements AuthImplementaion {
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
Future<String> SignIn(String _email, String _password) async{
AuthResult authResult = await _firebaseAuth.signInWithEmailAndPassword(email: _email, password: _password);
return authResult.user.uid;
}
}