Firebase SMS验证/验证

joh*_*bay 28 authentication twilio firebase nexmo twitter-fabric

对于客户端项目,我正在创建一个简单的混合应用程序,它提供非常简单的功能,但流量很高.该应用程序通常不需要后端,因为它非常简单,而firebase似乎是该项目的完美解决方案.

我坚持的唯一部分是使用Firebase进行短信验证/身份验证.然而,经过一些激烈的谷歌搜索和文档阅读后,我逐渐意识到,没有简单的方法可以做到这一点.这是我到目前为止所研究的内容:

  1. Fabric.io Digits 有一个很棒的JS API,但是由于某些原因,firebase和数字不能很好地协同工作:https://groups.google.com/forum/#!topic/firebase-tot/slab7lPuyCVBQ
  2. Facebook帐户套件 - 就在一周前,Facebook发布了一个新的SMS验证和身份验证套件,虽然它仍然感觉它与fabric.io数字有相同的问题,至少在证明不是这样.
  3. Twilio/Nexmo通过NodeJS - 这些都是具有优秀JS API的史诗服务,但据我所知,这将需要一个单独的后端服务器来处理JWT令牌交换.而这本身就是另一台服务器,它将成为高流量时的瓶颈,另一点是安全漏洞,客户团队必须单独管理.不是最愉快的.
  4. Twilio/Nexmo和Auth0 - 到目前为止,这似乎是最好的选择,其中认证和用户管理由Auth0处理,但是这个解决方案很快就会变得昂贵,因为twilio或nexmo和auth0都是付费解决方案.并不是说我是一个期望免费工作的东西 - 但感觉这是一个非常昂贵的额外步骤,因为它只是为了转发代币.[见:来自地狱的客户]
  5. 我记得在某个地方读过一个建议,比如在firebase上使用电话号码作为电子邮件:123-456-7890@example.com并使用通过短信发送的安全码作为密码,这听起来很粗略,原因有很多.

通常使用混合移动应用程序,它们的非本地特性或JS API应该受到指责,但这是第一次(对我来说至少),感觉并非如此.我认为此时Firebase不是一个有效的选项,但是在开始研究AWS并为客户端设置整个后端之前,最后一次询问社区中有爱心和关心的成员.

有没有其他方法来处理这种类型的身份验证减去中间服务/没有后端服务器?有人有使用这些解决方案的经验吗?


更新:2017年5月

电话验证和身份验证现已在Firebase中本机提供.请参阅下面的我自己发布的答案.


更新:2017年4月

Firebase现在原生支持云功能.现在,您可以使用云功能实现此功能,而无需设置任何服务器.


更新:2017年10月

Fabric.io和Firebase 在Firebase手机认证中合作并集成了Digits,并为Fabric推出了更多功能.

joh*_*bay 5

截至 2017 年 5 月 17 日,Firebase 的杰出人士已将 Digits 的电话身份验证融入 Firebase。现在,这在 Firebase 中本地实现非常容易,或多或少只需轻按一下开关,无需外部服务或任何类似的东西。您可以在文档中阅读有关它的更多信息:)

  • 为什么firebase价格昂贵?而免费的限制只有10K?为什么不 100K 像 facebook 帐户工具包?为什么谷歌为什么? (2认同)