firebase - Flutter Google-SignIn 通过 Flutter idToken 问题
问题描述
我正在尝试从我的客户端 Flutter 应用程序获取一个 idToken 以发送回我的后端进行验证,问题是我要么没有得到 idToken,而是得到一个“instanceOfGetIDToken”或类似的东西,或者它吐出一个令牌与其链接的 Firebase 应用程序没有任何关系,我很困惑,因为用户出现在应用程序的 Firebase 控制台中,但同意屏幕提到的是 idNumber 而不是名称,当我检查 JWT 时,它有点好的信息,但发行人和一切都不一样?
final GoogleSignIn _googleSignIn = GoogleSignIn();
final FirebaseAuth _auth = FirebaseAuth.instance;
Future<FirebaseUser> _handleSignIn() async {
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
idToken: googleAuth.idToken,
);
final FirebaseUser user = (await _auth.signInWithCredential(credential)).user;
print(credential);
return user;
}
解决方案
用这个怎么样?
Future<FirebaseUser> _handleSignIn() async {
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
idToken: googleAuth.idToken,
accessToken: googleAuth.accessToken,
);
final FirebaseUser user = (await _auth.signInWithCredential(credential)).user;
print(user);
return user;
}
推荐阅读
- javascript - 没有通过箭头键在我的表格中聚焦此选择框,但所有其他字段都成功聚焦
- excel - 如何从excel中的数组中返回最少出现的值?
- javafx - 是否有 Maven 插件来创建 JavaFX 自包含部署
- php - 如何使用 symfony 配置组件解析简单的键 => 值对
- python - 如何在一系列数字上比较各种乘法算法
- django - 使用 rest-auth 从 Django all-auth 中检索给定确认密钥(电子邮件验证)的用户电子邮件地址
- jquery - 更新输入,更新变量,更新表
- c# - 如何在 wpf 中使 WebView 透明?
- java - 使用 Quarkus + JSONB 是否有相当于 Jackson + Spring 的`@JsonView`?
- python - 为什么 sklearn.tree.DecisionTreeClassifier 和 sklearn.ensemble.RandomForestClassifier 不接受分类输入变量?