Я создал приложение для входа в систему с аутентификацией Google, используя флаттер.Я не могу войти на домашнюю страницу после нажатия кнопки «Вход», и я однажды вошел на домашнюю страницу, когда я создаю код аутентификации на самой странице входа.но теперь я использую другой файл для аутентификации с именем auth.dart, и я вызвал функцию оттуда на страницу входа и домашнюю страницу (где есть кнопка выхода).пожалуйста, помогите мне и скажите мне, как перейти на домашнюю страницу и с домашней страницы наоборот
//Here is my code for loginpage.dart
//button for login with google
RaisedButton(
child: Text('Login with Google'),
color: Colors.orange,
textColor: Colors.white,
elevation: 7.0,
onPressed: () { authService.googleSignIn();
}
),
Вот мой код для аутентификации в auth.dart
class AuthService {
final GoogleSignIn _googleSignIn= GoogleSignIn();
final FirebaseAuth _auth = FirebaseAuth.instance;
Observable<FirebaseUser> user;
Observable<Map<String, dynamic>> profile;
PublishSubject loading = PublishSubject();
AuthService() {
if(_auth.currentUser()!= null) {
print('Please Sign in');
} else {
googleSignIn();
}
}
Future<FirebaseUser> googleSignIn() async{
loading.add(true);
//GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
GoogleSignInAccount googleUser = await _googleSignIn.signIn();
GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
idToken: googleAuth.idToken,
accessToken: googleAuth.accessToken,
);
final FirebaseUser user = await _auth.signInWithCredential(credential);
print("User Name: ${user.displayName}");
assert(await user.getIdToken() != null);
final FirebaseUser currentUser = await _auth.currentUser();
assert(user.uid == currentUser.uid);
}
void SignOut() {
_auth.signOut();
}
}
final AuthService authService = AuthService();
и наконец вот мой коддля Homepage.dart, где кнопка SignOut
MaterialButton(
onPressed: () {
authService.SignOut();
},
child: Text('Log Out'),
)
Я пробовал Navigator.of(context).pushReplacementNamed('landingpage');
, но там указано неопределенное имя 'context'
, пожалуйста, помогите мне