如何在 flutter 中使用 facebook 执行 firebase 身份验证
How can I perform firebase authentication with facebook in flutter
我正在尝试在我的应用程序中添加 firebase 和 facebook 身份验证。 Facebook 身份验证已经完成:
final facebookLogin = FacebookLogin();
final result = await facebookLogin.logInWithReadPermissions(['email']);
switch (result.status) {
case FacebookLoginStatus.loggedIn:
final token = result.accessToken.token;
final graphResponse = await http.get(
'https://graph.facebook.com/v2.12/me?fields=name,first_name,last_name,email&access_token=$token');
Map<String, dynamic> user = jsonDecode(graphResponse.body);
// _onGetFacebookUser(user);
我不知道如何使用 facebook 结果执行 firebase 身份验证。
我已经看了this answer,但是没有帮助,只有facebook 登录代码示例。
我找到了this article,但是没有方法signInWithFacebook
您必须使用凭据
final result = await facebookLogin.logInWithReadPermissions(['email']);
switch (result.status) {
case FacebookLoginStatus.loggedIn:
final token = result.accessToken.token;
AuthCredential fbCredential = FacebookAuthProvider.getCredential(accessToken: token);
FirebaseAuth.instance.signInWithCredential(credential).then((FirebaseUser user) {
// do something...
});
...
更新:
它适用于 flutter_facebook_login
2.0.1 版
现在版本 3.0.0 有方法 'login':
final result = await facebookLogin.logIn(['email']);
我正在尝试在我的应用程序中添加 firebase 和 facebook 身份验证。 Facebook 身份验证已经完成:
final facebookLogin = FacebookLogin();
final result = await facebookLogin.logInWithReadPermissions(['email']);
switch (result.status) {
case FacebookLoginStatus.loggedIn:
final token = result.accessToken.token;
final graphResponse = await http.get(
'https://graph.facebook.com/v2.12/me?fields=name,first_name,last_name,email&access_token=$token');
Map<String, dynamic> user = jsonDecode(graphResponse.body);
// _onGetFacebookUser(user);
我不知道如何使用 facebook 结果执行 firebase 身份验证。
我已经看了this answer,但是没有帮助,只有facebook 登录代码示例。
我找到了this article,但是没有方法signInWithFacebook
您必须使用凭据
final result = await facebookLogin.logInWithReadPermissions(['email']);
switch (result.status) {
case FacebookLoginStatus.loggedIn:
final token = result.accessToken.token;
AuthCredential fbCredential = FacebookAuthProvider.getCredential(accessToken: token);
FirebaseAuth.instance.signInWithCredential(credential).then((FirebaseUser user) {
// do something...
});
...
更新:
它适用于 flutter_facebook_login
2.0.1 版
现在版本 3.0.0 有方法 'login':
final result = await facebookLogin.logIn(['email']);