(详情请登录https://leancloud.cn/docs/leanstorage_guide-ios.html)
手机号一键登录(省略注册过程)
一些应用为了提高首次使用的友好度,一般会允许用户浏览一些内容,直到用户发起了一些操作才会要求用户输入一个手机号,而云端会自动发送一条验证码的短信给用户的手机号,最后验证一下,完成一个用户注册并且登录的操作,例如很多团购类应用都有这种用户场景。
+
首先调用发送验证码的接口:
+
[AVOSCloud requestSmsCodeWithPhoneNumber:@"13577778888" callback:^(BOOL succeeded, NSError *error) {
// 发送失败可以查看 error 里面提供的信息
}];
+
然后在 UI 上给与用户输入验证码的输入框,用户点击登录的时候调用如下接口:
+
[AVUser signUpOrLoginWithMobilePhoneNumberInBackground:@"13577778888" smsCode:@"123456" block:^(AVUser *user, NSError *error) {
// 如果 error 为空就可以表示登录成功了,并且 user 是一个全新的用户
}];
+
手机号验证码登录
中国电信,中国联通,中国移动三大运营商的官网登录都支持 2 种方式,一种是手机号和密码,另一种就是手机号和随机的验证码登录,我们也提供了这种方式。
+
首先,调用发送登录验证码的接口:
+
[AVUser requestLoginSmsCode:@"13577778888" withBlock:^(BOOL succeeded, NSError *error) {
}];
+
然后在界面上引导用户输入收到的 6 位短信验证码:
+
[AVUser logInWithMobilePhoneNumberInBackground:@"13577778888" smsCode:@"238825" block:^(AVUser *user, NSError *error) {
}];
用户名+密码登录 手机号+密码登录(手机必须通过验证)
用户名和密码注册
采用用户名和密码注册的时候需要注意,密码是以明文方式通过 HTTPS 加密传输给云端,而我们保证所有密码都是密文存储,并且我们的加密算法是无法通过所谓「彩虹表撞库」获取的,这一点请开发者放心,换言之用户的密码只可能用户本人知道,开发者不论是通过控制台还是 API 都是无法获取的。另外我们需要强调在客户端,应用切勿再次对密码加密,这会导致重置密码等功能失效。
+
例如,注册一个用户的示例代码如下(用户名:Tom,密码:cat!@#123):
+
AVUser *user = [AVUser user];// 新建 AVUser 对象实例
user.username = @"Tom";// 设置用户名
user.password = @"cat!@#123";// 设置密码
user.email = @"tom@leancloud.cn";// 设置邮箱
[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
// 注册成功
} else {
// 失败的原因可能有多种,常见的是用户名已经存在。
}
}];
用户名密码登录
[AVUser logInWithUsernameInBackground:@"Tom" password:@"cat!@#123" block:^(AVUser *user, NSError *error) {
if (user != nil) {
} else {
}
}];
+
手机号密码登录
请确保已详细阅读了 iOS / OS X 短信服务使用指南 这一小节的内容,才可以顺利理解手机号匹配密码登陆的流程以及适用范围。
+
用户的手机号只要经过了验证,就可以使用手机号密码登录的功能,否则登录会失败。
+
[AVUser logInWithMobilePhoneNumberInBackground:@"13577778888" password:@"cat!@#123" block:^(AVUser *user, NSError *error) {
}];