🍣
【Flutter】Firestoreの値の変更に対して、強制的にログアウトさせる。(2021/09/21)個人メモ
Firestoreの値が変化したら、ユーザーを強制的にログアウトさせる必要があったので、その時に実装したコードメモ
modelで書いたコード
lithenしてる。
User? user = FirebaseAuth.instance.currentUser;
String userStatus = '';
void cancelState() async {
if (user == null) {
return null;
}
Stream<DocumentSnapshot> userStream =
await FirebaseFirestore.instance.collection('users').doc(user!.uid).snapshots();
userStream.listen((DocumentSnapshot document) {
Map<String, dynamic> data = document.data() as Map<String, dynamic>;
this.userStatus = data['userStatus'];
notifyListeners();
});
}
}
Viewで書いたコード
上にはchangeNotifierProvider
``` if (model.userStatus == '-1') {
WidgetsBinding.instance!.addPostFrameCallback((_) {
Navigator.of(context).push(
MaterialPageRoute(builder: (context) {
return LoginPage(cancelMessage);
}),
);
});
}
```
Discussion