1.10.1.3.4 账号及用户 SDK

优质
小牛编辑
131浏览
2023-12-01

账号和用户 SDK

更新时间:2018-04-20 11:28:29

概述

账号和用户 SDK,提供账号能力,包括注册,登录,登出,获取账号,会话管理,人机校验等功能。同时提供 UI 定制的能力。

配置服务

本 SDK 涉及的功能依赖用户服务,需要先在控制台开启和配置,方才可以使用。
如何配置服务请参见:账号及用户服务配置

集成方式

如何集成 SDK,查看这里>

初始化

账号和用户 SDK 的初始化依赖 API 通道的初始化,请参见:API 通道 SDK - 初始化
在 API 通道初始化成功后,再参考下面的示例代码初始化账号和用户 SDK:

// 引入头文件
#import <IMSApiClient/IMSConfiguration.h>
#import <ALBBOpenAccountCloud/ALBBOpenAccountSDK.h>

ALBBOpenAccountSDK *accountSDK = [ALBBOpenAccountSDK sharedInstance];
// 设置安全图片authCode
IMSConfiguration *conf = [IMSConfiguration sharedInstance];
[accountSDK setSecGuardImagePostfix:conf.authCode];
// 设置账号服务器环境,默认为线上环境
[accountSDK setTaeSDKEnvironment:TaeSDKEnvironmentRelease];
// 设置账号服务器域名
[[ALBBOpenAccountSDK sharedInstance] setGwHost:@"sdk.openaccount.aliyun.com"];
// 打开调试日志
//[[ALBBOpenAccountSDK sharedInstance] setDebugLogOpen:YES];

// 初始化
[accountSDK asyncInit:^{
  // 初始化成功
} failure:^(NSError *error) {
  // 初始化失败
}];

使用说明

登录

// 引入头文件
#import <ALBBOpenAccountCloud/ALBBOpenAccountSDK.h>
#import <ALBBOpenAccountCloud/ALBBOpenAccountUser.h>

// 获取账号UI服务
id<ALBBOpenAccountUIService> uiService = ALBBService(ALBBOpenAccountUIService);
// 显示登录窗口
[uiService presentLoginViewController:controller success:^(ALBBOpenAccountSession *currentSession) {
  // 登录成功,currentSession为当前会话信息
  // 获取当前会话标识
  NSLog(@"sessionId:%@", currentSession.sessionID);
  // 获取当前用户信息
  ALBBOpenAccountUser *currentUser = [currentSession getUser];
  NSLog(@"mobile:%@", [currentUser mobile]);
  NSLog(@"avatarUrl:%@", [currentUser avatarUrl]);
  NSLog(@"accountId:%@", [currentUser accountId]);
  NSLog(@"displayName:%@", [currentUser displayName]);
} failure:^(NSError *error) {
  // 登录失败对应的错误;取消登录同样会返回一个错误码
}];

退出登录

// 引入头文件
#import <ALBBOpenAccountCloud/ALBBOpenAccountSDK.h>

// 退出登录
[[ALBBOpenAccountSession sharedInstance] logout];

刷新会话

// 引入头文件
#import <ALBBOpenAccountCloud/ALBBOpenAccountSDK.h>

// 获取当前会话
ALBBOpenAccountSession *session = [ALBBOpenAccountSession sharedInstance];
// 刷新当前会话
[session refreshSessionIDWithCallback:^(NSString *sid, NSError *err) {
  // 如果失败则返回error, 否则返回新的会话Id:sid
}];

获取会话 ID

// 引入头文件
#import <ALBBOpenAccountCloud/ALBBOpenAccountSDK.h>

ALBBOpenAccountSession *session = [ALBBOpenAccountSession sharedInstance];
NSString *sessionID = session.sessionID;

获取用户信息

// 引入头文件
#import <ALBBOpenAccountCloud/ALBBOpenAccountSDK.h>

// 获取当前会话
ALBBOpenAccountSession *session = [ALBBOpenAccountSession sharedInstance];
if ([session isLogin]) {
    // 获取用户信息
    ALBBOpenAccountUser *user = session.getUser;
}