有没有一种方法可以使Google身份验证变得扑朔迷离?

时间:2020-04-12 12:02:37

标签: express flutter passport.js

使用此选项是否有效,据我了解,它仅是node.js的中间件,所以,我要做的就是将请求从移动应用发送到node.js服务器。知道移动设备向服务器发送请求与浏览器发送请求没有什么不同。

1 个答案:

答案 0 :(得分:0)

如果您的意思是,在Flutter应用中使用Google身份验证是否有效?那么,是的,这确实是有效选项。并且已经有大量的Flutter应用程序带有此选项。最重要的是,它太容易实现了。 注意:您无需从Flutter中调用浏览器中的node.js(或其他)网络应用程序即可进行Google登录。您可以在Flutter中本地进行此操作。

下面是示例代码,摘自here

Future<String> signInWithGoogle() async {
  final GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
  final GoogleSignInAuthentication googleSignInAuthentication =
      await googleSignInAccount.authentication;

  final AuthCredential credential = GoogleAuthProvider.getCredential(
    accessToken: googleSignInAuthentication.accessToken,
    idToken: googleSignInAuthentication.idToken,
  );

  final AuthResult authResult = await _auth.signInWithCredential(credential);
  final FirebaseUser user = authResult.user;

  assert(!user.isAnonymous);
  assert(await user.getIdToken() != null);

  final FirebaseUser currentUser = await _auth.currentUser();
  assert(user.uid == currentUser.uid);

  return 'signInWithGoogle succeeded: $user';
}