如何将Twilio的2因子sms身份验证与Firebase和Ionic(Javascript)集成?

时间:2016-09-07 04:47:27

标签: javascript ionic-framework firebase twilio firebase-authentication

我没有编程经验,但我很确定我的开发人员认为我们将twilio集成到我们的应用程序中的唯一方法就是使用Auth0。他认为我们没有其他选择,因为自谷歌购买它以来火基已经发生了很大变化。我个人认为Auth0太贵了,我想找一个更便宜的替代品。

有人可以将这个过程愚蠢地向我解释(我=一个只有编程基本背景的人),为什么他错了或者对吗?如果他错了,你能给我一个替代Auth0吗?

1 个答案:

答案 0 :(得分:2)

我肯定会仔细检查你的开发人员是否意味着Auth0或Authy(https://www.twilio.com/authy)。 Authy是Twilio的2FA用例API,可将2FA添加到网络和移动应用程序中,代码少于10行(https://www.twilio.com/docs/tutorials/walkthrough/two-factor-authentication/node/express)。

您可以通过使用Twilio的SMS API自行构建,但这意味着您可以在应用中维护令牌生成,维护和处理。使用Authy可以解决您的所有麻烦,您可以通过简单而强大的REST API实现2FA。

根据OP的评论进行更新

所以他似乎想要自己处理2FA并将其与firebase集成。 我仍然不明白为什么Auth0是强制性的,您可以在同一服务中连接到Firebase和Twilio(使用我上面提到的任何一种身份验证方法)。

示例(假设nodejs后端服务器):

app.post('/send2FASMS', function (req, res) 
{
  var resp = new twilio.TwimlResponse();
  var fromNum = req.body.From;



   var Firebase = require('firebase'),
   /*your firebase stuff here using FireBase - example : new Firebase('{FIREBASEURL}/Users/');*/

     resp.message(customeMessageThatYoumightHaveConstructedUsingYourFireBaseDB + 'Your 2FA code is 438469.');

  res.writeHead(200, 
                               {
                                     'Content-Type':'text/xml'
                               }
                            );
   res.end(resp.toString());

 }
);

显然,应该在此之前安装firebase

npm install firebase

话虽如此,我仍然建议看看Authy,它可以与上面类似的集成(Authy API而不是SMS),并且与自己开发2FA逻辑相比,为您提供更好的2FA体验。