我是React Native的新手,但是我创建了一个使用react-native-firebase程序包(基于https://github.com/faahmad/react-native-firebase-auth的注册/登录),我想合并touch ID以允许用户登录,但我在网上找不到任何示例(以Firebase原生提供)。我看了一下可以直接实现的包react-native-fingerprint-scanner和react-native-touch-id,我只是不知道如何将Firebase auth和touch id绑在一起。感谢您提供任何帮助。
谢谢
答案 0 :(得分:2)
这只是一个想法,尚未实现为“实际代码”,但是...这是我的两分钱,我打算如何使用它:
用户注册后,您可以使用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);
}
有待改进的地方,但这应该对您有用。希望能帮助到你。