如何在成功后从Parse Cloud将验证码发回我的应用程序?

时间:2015-05-08 08:02:51

标签: java android parse-platform twilio cloud-code

所以我建立了一个注册程序,需要用户通过短信接收代码来验证他们的电话号码。我使用Parse作为后端系统,并且我使用了包含在Parse中的Twilio服务来处理sms function。我已成功将验证码发送给用户的号码。

这是我的解析云代码:

var client = require('twilio')('ACb3....', '2b3....');

//Send an SMS text message
Parse.Cloud.define("sendVerificationCode", function(request, response) {

 var verificationCode = Math.floor(Math.random()*999999);

    client.sendSms({
        From: "+61437877758",
        To: request.params.phoneNumber,
        Body: "Your verification code is " + verificationCode + "."
    }, function(err, responseData) {
        if (err) {
          response.error(err);
        } else {
          response.success("Success");
        }
    });
});

这是应用程序中的代码:

HashMap<String, Object> params = new HashMap<String, Object>();
                params.put("phoneNumber", userNumber);
                ParseCloud.callFunctionInBackground("sendVerificationCode", params, new FunctionCallback<String>() {
                    public void done(String result, ParseException e) {
                        if (e == null) {
                            Log.d("Parse", result);
                            Intent i = new Intent(SignupActivity.this, PhoneVerificationActivity.class);
                            startActivity(i);

                        } else {
                            Toast.makeText(SignupActivity.this, "there was a problem with connection", Toast.LENGTH_LONG).show();
                        }
                    }
                });

现在我想知道如何在成功之后将该验证码从Parse Cloud发回我的Android应用程序,因此我可以检查验证码对照用户放入EditText的验证码

if (err) {
                  response.error(err);
                } else {
*//So the code for sending the verification code back goes here:*
                  response.success("Success");
                }

我是否需要使用Json和Rest API?如何从应用程序中调用并获取此验证码? 我将衷心感谢您的帮助。感谢。

1 个答案:

答案 0 :(得分:2)

一种方法是在response.success中返回它...

response.success({ status: "success", verificationCode: ... });

另一种方式,更好的方法是不要相信客户。将其记录存储在服务器上的对象上...当用户输入验证码时,回调另一个函数以检查它是否有效。在这个过时的GitHub登录示例中可以看到这种系统的一个例子:https://github.com/ParsePlatform/CloudCodeOAuthGitHubTutorial/blob/master/cloud/main.js#L116