首页 > 解决方案 > 在没有 Firebase 的 Flutter 应用程序中添加 Facebook 和 Google 身份验证

问题描述

我正在开发一个 Flutter 应用程序,需要在我们的应用程序登录页面中包含 Facebook 和 Google 登录选项。我没有使用 Firebase 并使用 MySQL 数据库来存储和检索用户的数据。

我正在寻找在没有 Firebase 的情况下在我的颤振应用程序中添加 FB 和 Google 身份验证。我找不到任何关于此的文章。到处都是使用 Firebase。

遵循教程后,我已在 FB Developer 控制台中注册了我的应用程序,但我不确定将在“OAuth 重定向 URL”字段中放置什么内容。

目前,我正在使用 xampp 服务器和 nodeJS 进行服务器端处理。下面是我在单击按钮时调用的代码。我正在使用插件进行 Facebook 身份验证(如果此插件专门用于 Firebase,请告诉我)。

void initiateFacebookLogin() async {
    var facebookLogin = FacebookLogin();
    facebookLogin.loginBehavior = FacebookLoginBehavior.webViewOnly;
    print("Inside fb login");
    var facebookLoginResult = await facebookLogin
        .logInWithReadPermissions(['email', 'public_profile']);
    switch (facebookLoginResult.status) {
      case FacebookLoginStatus.error:
        print("Error");
        onLoginStatusChanged(false);
        break;
      case FacebookLoginStatus.cancelledByUser:
        print("CancelledByUser");
        onLoginStatusChanged(false);
        break;
      case FacebookLoginStatus.loggedIn:
        print("LoggedIn");

        var graphResponse = await http.get(
            'https://graph.facebook.com/v2.12/me?fields=name,first_name,last_name,email,picture.height(200)&access_token=${facebookLoginResult.accessToken.token}');

        var profile = json.decode(graphResponse.body);
        print(profile.toString());

        onLoginStatusChanged(true, profileData: profile);
        break;
    }
  }

任何帮助或文章都非常感谢。

问候, RSM

标签: facebook-graph-apiflutterfacebook-authentication

解决方案


正如评论中提到的,Facebook 和 Google 登录都可以在没有 Firebase 的情况下工作。有一个 Flutter google_sign_in 包的示例代码,你可以在这里尝试。


推荐阅读