我正在使用react-native开发应用程序。我可以轻松地将本机应用程序连接到Firebase。我的想法是使用Firebase身份验证,但要使用MySQL数据库中的数据。 使用firebase和mysql的最佳/正确方法是什么?
我的想法是使用react-native到mysql的ajax请求,以便针对进入我的MySQL数据库的数据验证用户名和密码。然后使用此请求返回的ID从Firebase创建或加载用户。这是正确的方法吗?
对不起,如果不合理。我只是开始使用react-native和firebase。
谢谢
答案 0 :(得分:1)
好吧...
对于mysql,您可以使用axios插件。是使用mysql数据库的最佳方法。
Firebase使用异步请求,如果要同时使用这两种方法,最好的方法是使用axios。
首先,您从mysql表中获取用户,对吗? 所以..你要做类似的事情:
return axios.get(server_address¶m=PARAM_VALUE)
.then(response => {
return(response);
}).catch(function(error) {
alert.error(error.message);
});
Axios离开将返回JSON响应。 您可以使用GET或POST方法。
因此...使用JSON,您可以将数据发送给Firebase进行加载或创建用户。
那样:
return firebase
.auth()
.signInWithEmailAndPassword(loginEmail,loginPassword)
.then( user => {
return user;
})
.catch(error => {
if ((error.code == 'auth/user-not-found') || (error.code == 'auth/invalid-email')) {
return new Promise((resolve, reject) => {
Alert.alert(
'User not found',
'Create ?',
[{
text: 'No',
onPress:() => resolve(),
style:'cancel'
},{
text:'Yes',
onPress: () =>{
firebase
.auth()
.createUserWithEmailAndPassword(loginEmail,loginPassword)
.then(resolve)
.catch(reject)
}
}],
{cancelable: false}
)
})
}
return Promise.reject(error)
})
有关axios的完整指南: https://github.com/qiangmao/axios#readme
有关Firebase的完整指南: https://firebase.google.com/docs/auth/?hl=en