问题标签 [firebasesimplelogin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2464 浏览

javascript - 即使我将记住我设置为 false,firebase 也会自动登录

只要我点击按钮,它就会尝试让我登录,我什至还没有打电话给:auth.login('password', { email: email, password:password,rememberMe: false}); 但是......

我使用该rememberme: false设置,它仍然做同样的事情。为什么它会在不打电话的情况下自动让我登录auth.login

0 投票
1 回答
176 浏览

ios - Firebase 检查方法 (iOS)

我正在使用 Firebase 简单登录,它接受正确的登录,拒绝不正确的登录,然后悄悄地让我注销(不知道它是否有效)。我正在努力解决的是:当我的应用程序启动时,我需要确定用户是否仍然登录(如果他们选择“记住我”,就会发生这种情况)。如果是这样,我会继续前进,否则我会显示一个登录屏幕。

我观察到的是,如果我unauth在整个 Firebase 上调用该函数,然后尝试使用该check方法,则返回到该块的错误为 NULL,并且用户电子邮件仍然与上次登录的用户相同。如果我logout在 auth 对象上使用该方法,也会发生同样的情况。

这是一个 RubyMotion 应用程序,所以我可以在 REPL 中使用它,看看发生了什么。

更新:我正在添加代码,因此遇到此问题的其他任何人都可以看到发生了什么。事实证明,这在 motion-firebase 中是一种特质。我将为此提交修复程序。与此同时,这是我的代码:

设置的代码:

因此,调用我的登录方法会响应 Firebase 回调,并在完成时依次在我的 Ruby 代码中执行一个闭包。这一切都有效。这些MotionMap东西只是一个很好的方法来获得无关访问的哈希值。

现在,在 REPL 中我可以这样做:

所以我做的第一件事就是取消对这个特定的 Firebase 引用的授权,对吧?然后,我继续检查。错误为 nil(Objective-C 中为 NULL),但用户信息完好无损。换句话说,我不能说我的用户是未经授权的。

更新:调用unauthFirebase 对象似乎不会影响check查看登录状态的方式。我对motion-firebase中的注销方法做了一个简单的修复,似乎logout在auth对象上调用该方法实际上会清除该对象中的信息并调用unauthFirebase对象。这只是我从观察正在发生的事情中推断出来的。

应该注意,调用check(映射到(void)checkAuthStatusWithBlock:(void ( ^ ) ( NSError *error , FAUser *user ))block)是异步运行的,完成后调用块,出现nil错误和完全为空的用户。

错误是nil预期的行为吗?

0 投票
1 回答
297 浏览

firebase - Firebase:如何实现安全会话跟踪?

编辑为了尝试简化这个问题......在一个非常基本的层面上,我相信这必须是会话系统的一个相当基本的需求......我们如何在不破坏 onDisconnect 功能的情况下拥有一个安全的会话跟踪器?如果您添加安全规则,onDisconnect 将不起作用,如果您不添加安全规则,任何人都可以通过写入未受保护的表或删除其他人的存在来“欺骗”登录会话。

我正在尝试解决未调用“onDisconnect”的问题,因为我的安全规则只允许登录用户在 /sessions/$userid/“true” 中写入他们的存在数据......只要 onDisconnect 工作用户已登录,但如果该用户在注销后关闭浏览器,或由于超时而注销,则 onDisconnect 将被安全规则阻止。

起初我想......“哦,我可以追溯到发生注销的地方,并在那里再次清理会话存在。” 但我是否认为通过更多我会意识到 auth = newFirebaseSimpleLogin 回调“else”块似乎是检测注销的唯一方法。最重要的是,在注销发生后返回回调,以便将我返回到我需要登录的地方,以便 onDisconnect 调用可以删除我的会话,但此时,我已经注销了。

我错过了什么吗?是否有我不知道的注销前呼叫?我可以在安全规则文件中做些什么特别的事情来允许 onDisconnect 删除注销后的会话吗?

这是我为有问题的“表”设置的安全规则块:

在 JS 中它很简单:

正如预期的那样,由于我没有登录 onDisconnect 我得到:

编辑:反对票是怎么回事?=/

0 投票
1 回答
3193 浏览

javascript - 使用 Facebook Firebase 简单登录获取电子邮件


我正在使用带有 Firebase 简单登录的 Facebook。我正在尝试获取此人的真实姓名,我已user.displayName在 FirebaseSimpleLogin 实例中成功完成了此操作。当我尝试使用 获取他们的电子邮件时user.email,它会返回undefined。我对 Google+ 做了同样的事情,它工作得很好,没有返回未定义的内容。这是我的代码:

所以,我的问题是,如何使用 Facebook Firebase 简单登录获取用户的电子邮件地址?先谢谢大家了。

0 投票
1 回答
1066 浏览

firebase - 如何跨域共享 Firebase 简单登录会话?

我有 example.com 和 app.example.com。如何从一个域登录某人并与另一个域共享该会话?

0 投票
1 回答
520 浏览

angularjs - 在AngularFire中创建帐户后无法自动登录用户

您好我正在使用 AngularJS + Firebase 和 Angular Fire,试图创建一个简单的类似 tumblr 的博客应用程序来学习 AngularJS 的来龙去脉。不使用任何角度种子或关闭特定教程,只是根据需要学习一些东西。

我得到了 $firebase 简单登录系统的工作。我创建了一个简单的用户注册表单,当用户提交时,我触发 $createUser() ,它可以工作,然后我将用户输入的所有配置文件数据加载到一个数据集中,其中 user.id 由 createUser 承诺返回。API文档说他们是一个留空的参数将在创建后自动登录用户,但是我在几个地方读到这已被删除,并且文档未更新。同样在常规 Firebase API 中,它提到用户必须在创建帐户后登录。我尝试在帐户创建的返回承诺中触发 $login() 方法,如下所示:

它向我抛出了这个错误:

我还尝试调用我在控制器中创建的方法,它类似于 $scope.login(email,password),但这也不起作用。当用户注册时,它假设将他们带到仅限登录用户的主页视图。如果用户未通过身份验证,则它将他们弹回登录视图。所以就像现在一样,用户创建他们的帐户然后被路由到/home,他们没有显示为经过身份验证,然后反弹回来登录。我的路由器配置:

这是在启动路由更改后检查用户是否通过身份验证的逻辑:

我尝试通过创建一个名为 currentUser 的单独变量并使用 createUser 函数返回的用户数据加载它来解决问题,然后在将它们带到主视图时也检查它。它可以工作,但是如果用户刷新他们会丢失该信息,因为它没有被保存到我猜是 $login 所做的会话中。

0 投票
2 回答
1092 浏览

error-handling - Firebase 简单登录仅引发“INVALID_EMAIL”错误

关于stackoverflow的第一个问题,如果我的信息不足,请告诉我。提前致谢。

我正在尝试实现 firebase-simple-login,但我得到的唯一错误类型是 signIn 函数上的“INVALID EMAIL”。如果我在现有电子邮件中输入了错误的密码,它仍然会抛出无效的电子邮件。

供额外参考;对应表单的html

我似乎在 firebase 文档中找不到任何关于错误类型的有用信息,所以我希望你能提供帮助。

CreateUser 被这样调用:

0 投票
0 回答
242 浏览

firebase - 身份验证令牌过期后重新登录

我得到:

除非我在令牌过期后刷新应用程序,否则重新登录似乎不起作用。

_login() 不会打开 Google 登录弹出窗口

0 投票
1 回答
1689 浏览

angularjs - Firebase:为什么 $firebaseSimpleLogin 会引发 SecurityError?

我正在尝试使用 Firebase 简单登录机制注册用户:

但是,我在控制台中看到以下错误:

并且,$createUser不执行回调。

我启用了“电子邮件和密码”身份验证并将localhost其放入授权请求来源列表中。

我究竟做错了什么?

0 投票
3 回答
2665 浏览

ios - 如何在 iOS 中将 Firebase 对象持久保存到磁盘?

Firebase iOS 实现似乎不支持客户端模型的离线缓存。这在实践中意味着:

  • 对于需要身份验证的 Firebase 应用,您需要先进行身份验证并等待 Firebase 完成登录(检查用户身份、打开套接字等),然后才能开始移动数据。这将需要 1-8 秒(通常为 2-5 秒),具体取决于网络状况,至少在芬兰是这样。
  • 身份验证后,Firebase 首先下载初始数据集并初始化客户端缓存。执行此操作的时间取决于您为其添加侦听器的数据大小,但通常很快。

这里的问题是,如果您使用 Firebase 来实现,例如消息应用程序,您很可能希望在与后端服务器的实际连接之前向用户显示消息线程和消息的先前缓存版本已确立的。

我假设正确的实现需要处理:

  1. 客户端模型 <-> Firebase JSON 映射(我为此使用 Mantle)
  2. 将客户端模型持久化到磁盘(使用 NSKeyedArchiver 或 Core Data 等手动实现?)
  3. 当连接可用时,将磁盘模型与内存中的 Firebase 链接模型同步(手动实现?)

有没有人提出解决方案(自己的或第 3 方)来实现 2)和 3)?