Я пытаюсь реализовать социальную регистрацию в Facebook через Firebase, и я думаю, что я почти закончил с этим, но почему-то консоль говорит мне, что пользователь почему-то отменяет.
OneДело в том, что код просто не работал и печатал, что вход в Facebook не удался, но я изменил параметр в acebookLogin.logInWithReadPermissions с "email"
на "email", "public_profile", "user_friends"
, что приводит к следующей строке ошибки.
Вотметод, который пытается вызвать логин Facebook.
Future<FirebaseUser> startFacebookLogin() async {
var facebookLogin = new FacebookLogin();
final result = await facebookLogin.logInWithReadPermissions(["email", "public_profile", "user_friends"]);
FacebookAccessToken myToken = result.accessToken;
switch (result.status) {
case FacebookLoginStatus.loggedIn:
AuthCredential credential = FacebookAuthProvider.getCredential(
accessToken: myToken.token);
FirebaseUser facebookUser = await FirebaseAuth.instance
.signInWithCredential(credential);
return facebookUser;
break;
case FacebookLoginStatus.cancelledByUser:
print("Facebook sign in cancelled by user");
break;
case FacebookLoginStatus.error:
print("Facebook sign in failed");
break;
}
}
, и этот IconButton активирует социальный логин при нажатии.
IconButton(
onPressed: () => startFacebookLogin().then((FirebaseUser user) =>
print(user)).catchError((e) => print(e)),
icon: new Icon(const IconData(0xe900, fontFamily: 'facebook')),
color: Colors.blue,
)
Не совсем уверен, что может вызвать случай cancelledByUser.