如何通过REST API使用SMS for Firebase执行2FA?

时间:2018-11-30 01:50:05

标签: android rest firebase https firebase-authentication

我正在编写有SDK限制的应用。我必须进行自己的REST API调用并自己处理响应。我可以使用Firebase身份验证,并且可以使用REST设置电子邮件/密码登录,但是我需要通过手机号码执行2FA才能完成此过程。

通常,Firebase SDK可以轻松处理此问题,但是我只需要通过REST API进行此操作。 Firebase doco向我展示了如何通过REST以及一系列其他相关的身份验证呼叫执行电子邮件/密码,但是我可以使用REST使用手机号码执行2FA吗?如果是这样,有人可以指向文档或提供示例致电/响应吗?

如果不支持,是否可以通过云功能创建我自己的SMS验证?

1 个答案:

答案 0 :(得分:1)

遗憾的是,它本身不受支持。如果您要求用户在执行操作之前必须具有2FA,则可以执行以下操作:

  1. 您将安全规则设置为要求自定义声明令牌具有特定属性。
  2. 让用户使用客户端上的标准用户名和密码登录。
  3. 在客户端上获取令牌
  4. 通过HTTP请求将令牌发送到firebase函数
  5. 在firebase函数中验证令牌
  6. 如果令牌有效且具有uid属性,请在此处请求twilio authy /执行您的2FA逻辑。

这些说明不完整,因为authy必须具有自己的细微差别。但这就是要点。

这些资源可能会有所帮助:

https://firebase.google.com/docs/auth/admin/verify-id-tokens https://www.twilio.com/docs/authy/tutorials/two-factor-authentication-node-express

注意:您可能可以通过在Firebase数据库中存储临时代码,然后使用其SMS API通过Twilio发送文本消息来开发自己的2FA解决方案。