使用 Parse 使用 Phone 号码注册

Sign up with a Phone number using Parse

我正在寻找一种方法,用户如何才能仅使用 Phone 号码而不是用户名和密码进行注册?

以及如何像访问任何其他 class 一样访问用户 class 数据,我无法对用户 class 进行查询?

  ParseQuery<ParseObject> query2 = ParseQuery.getQuery("user"); 
                     query2.whereEqualTo("phone", "0624982192");
                     query2.getFirstInBackground(new GetCallback<ParseObject>() 

                     {

                       public void done(ParseObject object, ParseException e) 
                       {

                         if(e == null)
                         {

                      //To do if the phone number is found

                         }
                         else
                         {
                           if(e.getCode() == ParseException.OBJECT_NOT_FOUND)
                           {
                            // To do if the phone number is not found
                           }

有办法吗?

我认为您的 ParseQuery 初始化对于用户对象是错误的。 应该是这样的。

ParseQuery<ParseUser> query = ParseUser.getQuery();

有关查询用户的完整示例,请在此处查看:https://parse.com/docs/android_guide#users-querying

就使用 phone 号码注册而言,我认为 Parse 没有任何功能可以明确地执行此操作,如果您打算让用户在那里输入 phone 号码那么这可能有点不安全,因为任何用户都可以输入随机 phone 号码并获得对其他人帐户的访问权限。但是,如果这是您想要做的,那么我建议您创建一个新的 class,而不是使用预定义的用户 class。这样您就可以创建自己的结构并为 class.

定义自己的安全性

我不建议仅使用 phone 号码注册,但您可以使用解析通过以下方式完成注册。

您必须使用 Parse Cloud 代码创建一个 onSave 挂钩来验证存储在数据库中的 phone 数字是唯一的,否则多个用户可能会访问一个 "user",了解更多详细信息--> https://www.parse.com/docs/cloud_code_guide#cloud_code

您必须在注册前查询 phone 字段以验证数据库中是否存在 phone 号码,然后使用意图将用户带到所需的 activity。

编辑:像@JayDev 建议的那样,创建您自己的 class 而不是用户 class

如果您仍在寻找最好的方法来做到这一点,并且对于任何未来的访客,这里是 "Parse way"! ;)
http://blog.parse.com/announcements/phone-based-login-can-you-dig-it/

完成基于 Twilio 的示例 iOS 应用程序以了解底层方法:
https://github.com/parseplatform/anyphone

它基于云代码,带有一个随机数(通过短信发送)和一个用作密码的秘密令牌。 phone 号码作为用户名。