我没有编程经验,但我很确定我的开发人员认为我们将twilio集成到我们的应用程序中的唯一方法就是使用Auth0。他认为我们没有其他选择,因为自谷歌购买它以来火基已经发生了很大变化。我个人认为Auth0太贵了,我想找一个更便宜的替代品。
有人可以将这个过程愚蠢地向我解释(我=一个只有编程基本背景的人),为什么他错了或者对吗?如果他错了,你能给我一个替代Auth0吗?
答案 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体验。