2016-06-09 45 views
0

我正在使用devise進行用戶驗證,我可以如何向用戶請求,點擊登錄按鈕後,輸入短信自動發送到他的手機,以便成功登錄。設計登錄後的短信驗證,如何?

我按照一些說明從互聯網,我也twilio並獲得API的關鍵,但仍然不知道如何完成這一點。

+0

你活躍? – Mukesh

+0

是的,我仍然在這裏,但仍然不知道如何使它工作。 –

回答

0

由於我的方式....可能是這個過程

1)創建色器件登錄一個頁面dumy ..其中採取的登錄信息

2)查找數據庫用戶的詳細信息,並送他/她的消息

3)提交虛擬頁後,下一步將進入消息OTP碼

4)提交關於此之後....比賽OTP與發送OTP用戶

5)如果它是正確的比由api登錄到設備面板

0

我們需要更多信息以獲得完整答案(如果可能)。

首先你需要一個短信提供商(你似乎選擇了twilio)。 然後您需要代碼才能使用該提供程序發送短信。 https://www.twilio.com/blog/2012/02/adding-twilio-sms-messaging-to-your-rails-app.html

然後你需要邏輯。這是做到這一點的一種方式。 我假設您正在使用具有登錄憑據的數據庫。

添加一個帶3列的新表(爲主鍵添加另一個不會受傷),一列用於user_id,一列用於代碼,另一列用於日期。

然後,當用戶想要登錄創建一個代碼(數字或不),並添加代碼到當前日期和user_id表,然後發送短信到用戶的電話號碼和重定向用戶到他的頁面,他可以輸入代碼。當他輸入代碼時,將它與數據庫中的行進行比較並驗證它,使用日期可以很容易地添加代碼的超時時間,以便用戶必須在60秒內輸入代碼或者什麼時候輸入代碼喜歡。您必須向用戶輸入短信代碼的頁面發送一個ID,以便知道該用戶是哪個用戶,並且該用戶當然應該根據該表進行檢查。使用這種方法可以輕鬆跟蹤用戶所做的所有嘗試。

提示將增加用戶可以使用的每天/小時的短信數量的限制。然後,他將在今天剩下的時間裏被鎖定,明天將不得不再次嘗試。否則,有用戶/通行證的人可能會發出數以千計的請求,並強迫您發送許多短信,使您花費大量金錢。這當然取決於你是否以某種方式將短信扣留給用戶賬戶。 只是想提起它..