Интеграция Touch ID с аутентификацией Firebase в React Native - PullRequest
0 голосов
/ 22 октября 2018

Я новичок в React native, но я создал регистрацию / регистрацию, в которой используется пакетact-native-firebase (на основе https://github.com/faahmad/react-native-firebase-auth),. Я хочу включить touch id, чтобы позволить пользователю войти в систему, ноЯ не могу найти никаких примеров в Интернете (в реакции на нативные с firebase). Я посмотрел на пакетыact-native-fingerprint-scanner и Reaction-native-touch-id, которые просто внедрять. Я просто незнать, как связать Firebase Auth и Touch ID. Любая помощь с этим приветствуется.

Спасибо

1 Ответ

0 голосов
/ 22 октября 2018

Это просто мысль, которая еще не реализована как «реальный код», но ... Вот мои два цента о том, как я к ней подхожу:

Как только пользователь зарегистрируется, вы можете сохранить его электронную почту ипароль с AsyncStorage , SQLite или любым другим.А затем добавьте Login with fingerprint в качестве функции на странице настроек пользователя.Оттуда, как только пользователь решит снова войти в систему, вы можете:

1- Использовать обещание, которое дает вам react-native-fingerprint-scanner.

2 - Получить адрес электронной почты и пароль из выбранной вами базы данных..

3- Используйте эти данные для аутентификации с помощью firebase и входа в систему.

Это будет выглядеть примерно так:

handleLogin() {
    FingerprintScanner
        .authenticate({ description: 'Scan your fingerprint to login' })
        .then(() => {
            const sql = "select email, password from user";
            db.runQuery(sql, function(data) { // this is a made-up function
                const { email, pasword } = data
                firebase
                  .auth()
                  .signInWithEmailAndPassword(email, password)
                  .then(() => /*navigate to main page once authenticated*/)
                  .catch(error => this.setState({ errorMessage: error.message 
            });
    })
    .catch(console.error);
}

Есть возможности для улучшения, но это должно работатьдля тебя.Надеюсь, поможет.

...