Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 在Rails应用程序中验证电话号码的服务(如Twilo、Plivo、Nexmo)_Ruby On Rails 4_Twilio_Plivo_Nexmo - Fatal编程技术网

Ruby on rails 4 在Rails应用程序中验证电话号码的服务(如Twilo、Plivo、Nexmo)

Ruby on rails 4 在Rails应用程序中验证电话号码的服务(如Twilo、Plivo、Nexmo),ruby-on-rails-4,twilio,plivo,nexmo,Ruby On Rails 4,Twilio,Plivo,Nexmo,我想在我的Rails 4应用程序中验证用户帐户的电话号码(只需向他们发送一个他们需要输入回应用程序的四位数pin号码)-哪些服务可用,哪些服务在Rails应用程序中实现起来最简单 我想在国际上验证移动电话和固定电话号码,不过我的主要地区是欧洲、美国和加拿大、澳大利亚和新西兰(我的总部设在英国)。Twilio开发者福音传道者 您完全可以使用Twilio(或任何其他服务)来验证电话号码。这里有一个例子,解释了通过短信进行手机验证的步骤 由于您也希望验证固定电话号码,您可能还需要添加语音确认,即您呼叫

我想在我的Rails 4应用程序中验证用户帐户的电话号码(只需向他们发送一个他们需要输入回应用程序的四位数pin号码)-哪些服务可用,哪些服务在Rails应用程序中实现起来最简单


我想在国际上验证移动电话和固定电话号码,不过我的主要地区是欧洲、美国和加拿大、澳大利亚和新西兰(我的总部设在英国)。

Twilio开发者福音传道者

您完全可以使用Twilio(或任何其他服务)来验证电话号码。这里有一个例子,解释了通过短信进行手机验证的步骤

由于您也希望验证固定电话号码,您可能还需要添加语音确认,即您呼叫用户并读取4位密码。这可以通过类似的方式实现,但只需拨打电话号码,然后通过使用读取单个代码即可


让我知道这是否有帮助。我也在英国,如果我能提供进一步帮助,请联系我。

您的标题列出了三种主要的SMS API,因此对于可用的服务,您已经有了很好的了解。但也有专门关注2FA/验证的API。这里有一个值得注意的问题,它倾向于关注等式的用户端(比如Google Authenticator)

由于您询问集成的易用性,2FA API(而不是SMS API)可能要容易得多(您无需担心生成真正随机的OTP,或者在用户不响应SMS时使用语音回退等)

(免责声明:我在那里工作。)实际上提供了SMS/语音API,以及在这些低级API之上构建的验证API

使用我们的(无论2FAAPI如何,它都是类似的),您可以调用
https://api.nexmo.com/verify/json
并传递
编号
品牌
(用于识别应用程序)参数。响应将包含一个
request\u id
,一旦用户向您的应用程序提供
code
,您将把
request\u id
code
传递给
https://api.nexmo.com/verify/check/json

因此,只需要2个简单的API调用,在此期间,您将
请求\u id
与用户会话关联起来。这是一个例子

特别是在Nexmo中,如果没有第二次API调用的时间足够长,代码将再次发送,这一次是通过语音调用(或者,如果号码是固定电话,则仅从语音开始)

使用我们的(同样,无论API如何,都将类似)首先,您将生成一个代码-听起来可能很简单,如果安全是一个问题,您需要确保生成是真正随机的

然后,您将存储代码和。有了Nexmo,就可以调用
https://rest.nexmo.com/sms/json
与您的信息的
文本一起,将
发送至
发送至
*。还有一个安全问题,因为在验证代码时,您将代码存储在同一台服务器上。如果这被破坏,验证流程也会被破坏

最后,将比较用户提供的代码与存储的代码


所以最简单的麻烦就取决于你了。是否更容易进行两次API调用并避免安全代码生成/存储(并可能免费获得语音回退)?还是DIY代码生成,并将您的集成简化为对SMS API的单个调用

谢谢你的信息,菲尔-我会查看链接的。你还有Danielle在Quora帖子中提到的初创公司报价(Twilio信用卡133.70美元)吗?Twilio看起来比其他的贵:/Tim,谢谢。我认为对我来说,短信API是好的。我唯一关心的是机器人程序-如果他们注册并输入无效号码,系统请求验证-像Nexmo这样的服务是否只对有效/已发送的SMS消息收费?@A4J在SMS API上,您对每条SMS收取费用(通常对所有SMS API都是如此)。如果号码本身是无效的,那么你就不会被收取任何费用。对于Verify,您只需为成功的验证(用户提供正确的代码)付费。谢谢Tim-您知道有什么指南或gem可以帮助您将Nexmo与Rails应用程序集成吗?@A4J不是指南,但这个ruby客户端库应该很有帮助: