我们已经将原生IOS和Android应用程序发布到商店。目前即将完成 react-native 版本以取代本机应用程序。React-native 应用程序使用与本机相同的 firebase 项目。Firebase 身份验证适用于原生应用和 React-原生Android应用。在 react-native ios 上,我们无法使用 google 登录。
错误日志:
发生内部错误,请重试。NativeFirebase Error:[auth/interner-错误]发生内部错误,请重试。onGoogleButtonPress$@http://localhost:8081/index.bundle?platform=ios
很难弄清楚错误消息到底出了什么问题。
当我们将react本机IOS应用程序配置为使用登录到其他Firebase项目(用于开发目的)时,谷歌登录工作正常。在这两种情况下,IOS捆绑包id都相同。
所有与应用程序相关的代码和配置都是根据react-native-firebase库文档完成的。
在新创建的具有相同IOS捆绑包id且没有添加任何其他端功能代码的react本机项目上,该问题也是可重复的。
import React from 'react';
import {
SafeAreaView,
StyleSheet,
ScrollView,
View,
Button,
StatusBar,
} from 'react-native';
import {Colors} from 'react-native/Libraries/NewAppScreen';
import {GoogleSignin} from '@react-native-community/google-signin';
import auth from '@react-native-firebase/auth';
const App: () => React$Node = () => {
async function onGoogleButtonPress() {
const {idToken} = await GoogleSignin.signIn();
const googleCredential = auth.GoogleAuthProvider.credential(idToken);
return auth().signInWithCredential(googleCredential);
}
GoogleSignin.configure({
webClientId:
'<PASTE CLIEND ID FROM GoogleService-Info.plist>',
});
return (
<>
<StatusBar barStyle="dark-content" />
<SafeAreaView>
<ScrollView
contentInsetAdjustmentBehavior="automatic"
style={styles.scrollView}>
<View style={styles.body}>
<Button
title="Google Sign-In"
onPress={() =>
onGoogleButtonPress().then(() =>
console.log('Signed in with Google!'),
)
}
/>
</View>
</ScrollView>
</SafeAreaView>
</>
);
};
const styles = StyleSheet.create({
scrollView: {
backgroundColor: Colors.lighter,
},
body: {
backgroundColor: Colors.white,
},
});
export default App;
在生产 Firebase 实例上添加具有其他捆绑包 ID 的新 IOS 项目并将这些捆绑包设置为反应原生应用时,Firebase 身份验证效果很好。
所以,在react原生应用程序代码中看起来并不是问题,而是与捆绑包id相关的问题。同时,具有相同捆绑包id的IOS原生应用程序运行良好。
帮我查一下Firebase认证不起作用的原因?
我也遇到了同样的问题,但是我没有找到任何关于这个问题的文档。所以下面是我的经验。
我的开发环境也有一个Firebase项目,一切正常。我为我的prod环境做了另一个,Firebase-auth系统地在ios上返回错误“发生内部错误,请重试”。
所以我更改了prod项目(当然还有Xcode)的bundle id,问题就消失了。
这是有道理的,在android上你不能有相同的对包名称/sha证书。在ios上,相同的限制被合并到唯一的bundle id上。但如果像在android上一样发生错误会更好。
所以总结:Firebase 项目只使用一个捆绑 ID!
我一直很难找到Google Firebase身份验证背后的SLA。根据托管和实时数据库的服务水平协议,Firebase的每月正常运行时间百分比应至少达到99.95%。它是否适用于身份验证服务?
在本章中,我们将匿名认证用户。 步骤1 - 启用匿名身份验证 这和我们以前的章节是一样的。需要打开Firebase信息中心,点击侧边菜单中的Auth和标签栏内的认证方法,需要启用匿名身份验证。 第2步 - 登录功能 可以使用方法进行此认证。 示例 让我们来看看下面的例子,参考示例代码 -
使用,https://github.com/firebase/FirebaseUI-Android/tree/master/codelabs/chat作为登录的参考,我在键入时似乎遇到了问题 我只能键入Auth的提供者,而不能键入,为什么会这样,它提示我键入社会提供者。
我使用react native和redux,但性能很慢.例如,在初始页面上,我有一个检查系统,如果处于还原状态的用户通过了身份验证,则显示home page,如果没有显示auth屏幕。 当我的用户通过身份验证时,我的应用程序最初会呈现身份验证屏幕几秒钟,然后呈现主屏幕,这是一个糟糕的用户体验,所以我的redux状态可能需要时间更新,而且速度很慢。 请看我的代码并帮助我做错了什么。 我正在检查异步存
如何使用firebase中的验证电子邮件验证使用电子邮件和密码登录的用户?这背后的逻辑是如何工作的,它在代码中会是什么样子? 解决方案/帮助:对于那些仍在寻找答案的人,我找到了这篇文章 堆栈溢出 帖子
我有一个现有的项目是建立在: AngularJS 我正在重写前端,将其移动到Angular 8,我想利用firebase的功能。 我目前正在集成身份验证功能(用户名/密码、谷歌、twitter、facebook等) 我在考虑我的下一步: 一旦我的使用通过firebase验证,我的GAE PHP后端如何检查用户是否通过了验证 我在想象这样的事情: 一旦通过firebase验证,使用OAuth2令牌调