通用注册登录

Auth 模块集合了和平台无关的用户注册登录相关操作。

注册

注册成功后会自动登录

通过邮箱注册

邮箱中的英文字母会被强制转换为小写。例如 iFanrX@Hello.com 会被转换成 ifanrx@hello.com

示例代码

Auth.register(email: "test@ifanr.com", password: "111") { (currentUser, error) in

}
[BaaSAuth registerWithEmail:@"test@ifanr.com" password:@"111" completion:^(BAASUser * _Nullable currentUser, NSError * _Nullable error) {

}];

参数说明

名称 类型 说明
email String 用户邮箱
password String 密码

返回结果

名称 类型 说明
currentUser CurrentUser 当前用户
error NSError 错误信息

error 对象结构请参考错误处理和错误码

通过用户名注册

示例代码

Auth.register(username: "test", password: "111") { (currentUser, error) in

}
[BaaSAuth registerWithUsername:@"test" password:@"111" completion:^(BAASUser * _Nullable currentUser, NSError * _Nullable error) {

}];

参数说明

名称 类型 说明
username String 用户名
password String 密码

返回结果

名称 类型 说明
currentUser CurrentUser 当前用户
error NSError 错误信息

error 对象结构请参考错误处理和错误码

登录

通过邮箱登录

示例代码

Auth.login(email: "test@ifanr.com", password: "111") { (currentUser, error) in

}
[BaaSAuth loginWithEmail:@"test@ifanr.com" password:@"111" completion:^(BAASUser * _Nullable currentUser, NSError * _Nullable error) {

}];

参数说明

名称 类型 说明
email String 用户邮箱
password String 密码

返回结果

名称 类型 说明
currentUser CurrentUser 当前用户
error NSError 错误信息

err 对象结构请参考错误处理和错误码

通过用户名登录

示例代码

Auth.login(username: "test", password: "111") { (currentUser, error) in

}
[BaaSAuth loginWithUsername:@"test" password:@"111" completion:^(BAASUser * _Nullable currentUser, NSError * _Nullable error) {

}];

参数说明

名称 类型 说明
username String 用户名
password String 密码

error 对象结构请参考错误处理和错误码

返回结果

名称 类型 说明
currentUser CurrentUser 当前用户
error NSError 错误信息

匿名登录

往数据表里添加数据,需要有一个用户身份(这样才能保障数据来源可回溯)。 如果不希望强制用户在一开始就进行注册,可以使用匿名用户,让应用不提供注册步骤也能创建临时用户。 以使得当前用户可以往 ACL 权限设置为“允许所有人(匿名用户 + 登录用户)可写” 的数据表内添加数据。

匿名登录使用场景举例:假如开发者希望应用内的文章,所有人可以在登录前阅读、点赞, 而且仅在调用特定接口时才需要登录,比如发布文章、评论文章。这时可以先使用匿名登录, 之后再使用其他登录方式登录(这里可能需要进行合并用户数据操作)。

匿名用户转换为正式用户(匿名登录后再使用其他登录方式登录),开发者需要考虑以下情况(以用户名为例):

  1. 不需要进行用户数据合并

    匿名登录后,使用用户名注册返回的 user_id 与之前匿名登录的 user_id 是一致的 (也就是直接把匿名用户转变为了正式用户),所以不需要数据合并。

  2. 需要进行用户数据合并

    匿名登录后,使用用户名登录,登录成功后,返回的 user_id 必定与之前匿名登录的 user_id 不一致,所以需要数据合并。

最终进不进行数据合并,由开发者自己考量决定。合并操作需要开发者自己进行。

示例代码

Auth.anonymousLogin { (user, error) in

}
[BaaSAuth anonymousLogin:^(BAASUser * _Nullable user, NSError * _Nullable error) {

}];

返回结果

名称 类型 说明
currentUser CurrentUser 当前用户
error NSError 错误信息

error 对象结构请参考错误处理和错误码

登出

清理客户端存储的用户授权信息。

示例代码

Auth.logout { (success, error) in

}
[[BaaSAuth logout:^(BOOL success, NSError * _Nullable error) {

}];

返回结果

名称 类型 说明
success Bool 是否登出成功
error NSError 错误信息

error 对象结构请参考错误处理和错误码

results matching ""

    powered by

    No results matching ""