Цель
Интеграция Facebook Войдите в мое приложение Flutter. Успешно интегрировать его с существующей конфигурацией Firebase (База данных входа в систему Google и аутентификации Firestore).
Шаг за шагом, чтобы воспроизвести мою ошибку:
1) Я создал новое приложение для разработчиков Facebook и выполните пошаговые инструкции по настройке приложения для вызова входа в Facebook (добавьте что требуется для строк. xml и для AndroidManifest)
2) Go в консоль Firebase, активируйте опцию входа в Facebook и добавьте идентификатор приложения и секретный ключ приложения с той же информацией, добавленной в приложение.
3) Вернитесь к разработчику Facebook и отредактируйте Логин Facebook> Конфигурация, чтобы добавить
https://myappname.firebaseapp.com/__/auth/handler
в OAuth допустимые перенаправления.
3) Добавьте пакет flutter_facebook_login: ^ 1.1.1 для создания и обновления пакетов 4) Реализуйте следующий код для вызова кнопки материала onPress:
final _facebookLogin = FacebookLogin();
Future<FirebaseUser> facebookSignIn() async {
loading.add(true);
final result = await _facebookLogin.logInWithReadPermissions(['email']);
if(result.status == FacebookLoginStatus.loggedIn) {
final AuthCredential credential = FacebookAuthProvider.getCredential(
accessToken: result.accessToken.token
);
final AuthResult authResult = await _auth.signInWithCredential(credential);
final FirebaseUser user = authResult.user;
updateUserData(user);
print("sign in " + user.displayName);
return user;
}
loading.add("false");
return null;
}
6 ) Получите эту ошибку:
E / flutter (22866): [ОШИБКА: flutter / lib / ui / ui_dart_state. cc (157)] Необработанное исключение: PlatformException (ERROR_INVALID_CREDENTIAL, предоставленные учетные данные авторизации) поврежден или истек , [Неудачный ответ debug_token от Facebook: {"error": {"message": "Недопустимая подпись токена доступа OAuth.", "Type": "OAuthException", "code": 190, "fbtrace_id": "MY_FB_TRACE_ID"}}] , null)
Эта ошибка, как я искал, не так с конфигурацией OAuth на шаге 3, но я возвращался и проверял несколько раз.
Кто-нибудь знает, есть ли Еще одна вещь, которую я должен проверить, чтобы сделать эту работу?