我正在构建我的第一个iOS应用程序,我使用Firebase来处理身份验证,数据库等.我添加了一个注册屏幕,并使用以下代码创建一个新用户:
FIRAuth.auth()?.createUserWithEmail(emailAddress.text!, password: password.text!, completion: { (user, error) in
})
Run Code Online (Sandbox Code Playgroud)
当用户点击注册按钮时,会有一个segue应该将它们带回原始登录视图控制器.但是,当我运行应用程序时,它会挂起启动屏幕.这是调试器输出:
2016-06-19 14:35:05.402 unitaskr[4386:82981] Configuring the default app.
2016-06-19 14:35:05.413 unitaskr[4386:] <FIRAnalytics/INFO> Firebase Analytics v.3200000 started
2016-06-19 14:35:05.414 unitaskr[4386:] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see ...)
2016-06-19 14:35:05.419: <FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
2016-06-19 14:35:05.418 unitaskr[4386:] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. …Run Code Online (Sandbox Code Playgroud) 请问有人知道如何在flutter上捕获firebase Auth异常并显示它们吗?
注意:我对控制台不感兴趣 (catcherror((e) print(e))
我需要一些更有效的东西,例如“用户不存在”这样我就可以将它传递给一个字符串并显示它。
几个月来一直在处理这个问题。
提前致谢。
我试过用 // errorMessage=e.toString(); 替换 print(e); 然后将其传递给一个函数,所有的努力都是徒劳的。
FirebaseAuth.instance
.signInWithEmailAndPassword(email: emailController.text, password: passwordController.text)
.then((FirebaseUser user) {
_isInAsyncCall=false;
Navigator.of(context).pushReplacementNamed("/TheNextPage");
}).catchError((e) {
// errorMessage=e.toString();
print(e);
_showDialog(errorMessage);
//exceptionNotice();
//print(e);
Run Code Online (Sandbox Code Playgroud)
我希望能够提取异常消息并将异常消息传递给一个对话框,然后我可以向用户显示该对话框。
如何http://auth0.com的身份验证功能比较火力地堡的认证?
Auth0.com在Free或Silver计划中是否提供Firebase未提供的任何身份验证功能?
根据文档,我强制用户注销该方法signOut().
这是我尝试过的:
var rootRef = firebase.database().ref();
var loggedInUser = firebase.auth();
1. firebase.signOut();
2. loggedInUser.signOut();
3. rootRef.signOut();
4. signOut();
5. firebase.auth.signOut();
Run Code Online (Sandbox Code Playgroud)
我得到... is not a function了上述五个中的每一个.我知道我对新Firebase的引用没有问题,因为firebase.database().ref();并firebase.auth();没有抛出错误.我还在控制台中迁移了应用程序.
我已开始使用新的Firebase SDK.
当我正在进行用户登录时,我的onAuthStateChanged方法被调用两次,状态相同(等用户登录).
我确定我只将一次AuthStateListener添加到FirebaseAuth引用中.
有帮助吗?
我在Android应用程序中使用Firebase身份验证,我使用Google帐户身份验证作为登录应用程序的选项.
如何知道用户是否首次登录该应用程序?
Parse将在今年年底关闭,所以我决定开始使用Firebase.我需要实现一个包含3个字段的注册过程:电子邮件,用户名,密码(电子邮件和用户名对我的应用必须是唯一的).
由于Firebase没有提供像Parse那样管理用户名的简便方法,因此我决定只使用电子邮件/密码注册并保存一些其他数据,如用户名.这是我的用户数据结构:
app : {
users: {
"some-user-uid": {
email: "test@test.com"
username: "myname"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我想要做的是使用户名唯一,并在创建帐户之前检查它.这些是我的规则:
{
"rules": {
".read": true,
".write": true,
"users": {
"$uid": {
".write": "auth !== null && auth.uid === $uid",
".read": "auth !== null && auth.provider === 'password'",
"username": {".validate": "!root.child('users').child(newData.child('username').val()).exists()"}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助
尝试检查用户是否通过firebase.auth().currentUser以下方式登录时:
if (firebase.auth().currentUser === null) {
console.log('User not signed in');
}
Run Code Online (Sandbox Code Playgroud)
每当我刷新页面,或在上面导航时返回null(即使我刚刚登录).
奇怪的是,如果我登录
console.log(firebase.auth().currentUser) // This returns null
console.log(firebase.auth()) // Here I can inspect the object and currentUser exists...!
Run Code Online (Sandbox Code Playgroud)
我真的不知道这里发生了什么.我正在使用React和Redux,但我说的并不重要.
firebase初始化时是否存在小延迟,您无法访问currentUser?如果是这样,我如何在日志输出中看到它firebase.auth()?
我想知道我的应用程序用户会对他们使用匿名登录方法会发生什么.
Firebase文档非常糟糕,并没有解释所有内容,并希望开发人员能够找到自己.我在其旧版本文档中发现,匿名会话将根据已在"登录和验证"选项卡中设置的到期时间到期,但即使没有提到这意味着只是会话结束,或者这意味着用户ID也将从我的应用用户列表或发生了什么?
我找到了这个答案,但实在是不可接受.如果您使用Web应用程序并使所有事情变得困难,匿名用户的数量将会非常快速增长.我甚至无法在仪表板中看到我的应用用户数量!!!!! 所以我该怎么做?我应该自己为我的数据开发一个仪表板,还是Firebase团队应该这样做?至少对于管理用户而言,我应该拥有的功能不仅仅是使用他们的电子邮件搜索用户,而且当您使用自定义登录时,您也无法做到这一点.
我已将firebase auth与我的Android应用程序集成.让我们说用户有邮件abc@abc.com.我想向用户添加一些额外的信息,如用户名,职业和地址.如何将用户auth表与我的Android应用程序连接起来呢?
我需要为此编写任何API吗?
android firebase firebase-authentication firebase-realtime-database