我試着用電話號碼驗證我的應用程序。在註冊期間,用戶將被要求輸入他們的電話號碼併發送驗證碼,他們將輸入代碼,如果匹配,他們可以繼續。我準備好了雲代碼,但我不確定從應用程序調用此代碼的確切方式。任何幫助,將不勝感激調用雲碼分析斯威夫特
,當他們進入他們的電話號碼,然後按下去,先檢查電話號碼是一個有效的電話號碼,我希望能夠做的是,然後發送短信代碼。 Segue公司終於向他們輸入驗證碼,如果它不匹配,顯示警告,如果這樣做,登錄用戶在
雲代碼驗證的觀點:
var twilioAccountSid = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
var twilioAuthToken = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
var twilioPhoneNumber = '+1555-555-5555';
var secretPasswordToken = '1234';
var twilio = require('twilio')(twilioAccountSid, twilioAuthToken);
Parse.Cloud.define("sendVerificationCode", function(request, response) {
var verificationCode = Math.floor(Math.random()*999999);
var user = Parse.User.current();
user.set("phoneVerificationCode", verificationCode);
user.save();
twilio.sendSms({
From: twilioPhoneNumber,
To: request.params.phoneNumber,
Body: "Your verification code is " + verificationCode + "."
}, function(err, responseData) {
if (err) {
response.error(err);
} else {
response.success("Success");
}
});
});
Parse.Cloud.define("verifyPhoneNumber", function(request, response) {
var user = Parse.User.current();
var verificationCode = user.get("phoneVerificationCode");
if (verificationCode == request.params.phoneVerificationCode) {
user.set("phoneNumber", request.params.phoneNumber);
user.save();
response.success("Success");
} else {
response.error("Invalid verification code.");
}
});
這就是我所說的雲代碼:
@IBOutlet weak var continueButton: UIButton!
@IBOutlet weak var phoneNumberTextField: UITextField!
@IBAction func continueButtonTapped(sender: AnyObject) {
var phoneNumber = self.phoneNumberTextField.text
if phoneNumber?.utf16.count < 10 {
displayAlert("Error", message: "You must enter a valid 10 digit US phone number including area code")
} else {
let params = phoneNumber
PFCloud.callFunctionInBackground("sendVerificationCode", withParameters: params, block: { (object: AnyObject?, error) -> Void in
if error == nil {
self.performSegueWithIdentifier("showVerifyUserView", sender: self)
} else {
// Do error handling
}
})
}
}
謝謝,我更新的問題,與我有什麼調用雲碼功能。我現在遇到的問題是用用戶輸入的電話號碼設置參數。我從來沒有用過這個,所以我很困惑我 – m1234
這就是爲什麼我在我的答案的底部添加評論,我已經用例子更新了答案。 – s1ddok
如何使用此方法傳遞安全信息,如會話令牌? –