主题
WMA集成示例
各平台下sdk包
安卓
IOS
鸿蒙
Android客户端集成
集成所需参数
IDS访问地址,例如
http://authserver.wisedu.com/authserver1
注册移动应用时生成的APPID,如297898459
拷贝开发包
从上面ids-sdk-android链接下载Android的sdk包,解压后在sdk目录下获取idsauthsdk-release.aar包, 将这个aar包放入安卓项目的libs中
修改配置文件
在AndroidManifest.xml中的application标签下增加如下代码:
<activity android:name="com.wisedu.idsauthsdk.IdsAuthActivity"
android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />1
2
2
创建类继承
创建测试类,代码示例
public class MainActivity extends Activity implements IdsLogOutUtil.OnLogOutListener{
private String oauthUrl = "http://authserver.wisedu.com/authserver";// ids地址
private String oauthAppId = "297898459";// appid
private String oauthSecretKey = ""; //secret
}1
2
3
4
5
2
3
4
5
登录点击事件
IDS登录事件,示例代码
public void onClick(View v) {
IdsLogOutUtil.startIdsAuthForResult(MainActivity.this, oauthUrl, oauthAppId, oauthSecretKey , true, 1);
}1
2
3
2
3
登录回调,返回参数
认证成功,返回token和用户信息示例代码
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) {
case IDSConstant.IDS_RESULT_OK:
switch (requestCode) {
case 1:
String userProfileStr = data.getStringExtra(IDSConstant.USER_PROFILE);
token = data.getStringExtra(IDSConstant.TOKEN);
userProfile.setText("用户token:\n" + token + "\n用户基本信息:\n" + userProfileStr);
break;
}
break;
case IDSConstant.IDS_RESULT_FAIL:
switch (requestCode) {
case 1:
String message = data.getStringExtra(IDSConstant.MESSAGE);
String mobileCode = data.getStringExtra(IDSConstant.MOBILE_CODE);//在通过code获取token失败时会返回
token = data.getStringExtra(IDSConstant.TOKEN);
userProfile.setText("用户token:\n" + token + "\n提示信息:\n" + message);
break;
}
break;
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
登出点击事件
注销登录点击事件,示例代码
public void onClick(View v) {
IdsLogOutUtil.sendLogOut(oauthUrl, oauthAppId, token, MainActivity.this);
}1
2
3
2
3
登出回调,返回参数
注销成功,返回参数示例代码
public void logOutAction(String callBackStr) {
userProfile.setText("注销:\n" + callBackStr);
}1
2
3
2
3
本次sdk 登陆页的方法增加了参数,控制页面是否显示Navbar

IOS客户端集成
将IDS库文件导入应用项目中

初始化配置信息
在didFinishLaunchingWithOptions中初始化IDS相关配置,示例代码
[[IDSService defaultService] startWithIDSService:@"http://authserver.wisedu.com/authserver"
appId:@"297898459" secretKey:@"aZSM3Tjpk8Qj5fpfteBSm1d6mIJFxk0"]1
2
2
获取token
登录获取token,示例代码
[[IDSService defaultService] authorize:^(IDSServiceObj *obj) {
if (obj.code == IDSResultSuccess) {
//获取用户信息
NSLog(@"%@",obj.data);
[self refreshButtonStatus:YES];
showTxt.text = [NSString stringWithFormat:@"token:%@",obj.data];
[[NSUserDefaults standardUserDefaults] setObject:obj.data forKey:@"login_token"];
[self performSelector:@selector(getProfile) withObject:nil afterDelay:0.5];
}
}];1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
获取用户资料
获取用户信息,示例代码
[[IDSService defaultService] getProfile:^(IDSServiceObj *obj) {
NSString *msg = @"";
if (obj.code == IDSResultSuccess) {
msg = [NSString stringWithFormat:@"返回:%@",obj.data];
}
else{
msg = [NSString stringWithFormat:@"返回:%@",obj.msg];
}
[self showMessage:msg];
if (obj.code == IDSResultNotAuthorized) {
//需要重新授权
NSLog(@"需要重新授权");
[self refreshButtonStatus:NO];
showTxt.text = @"token:";
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"login_token"];
}
}];1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
登出
注销登录,示例代码
[[IDSService defaultService] logout:^(IDSServiceObj *obj) {
if (obj.code == IDSResultSuccess) {
[self refreshButtonStatus:NO];
showTxt.text = @"token:";
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"login_token"];
[self showMessage:@"登出成功"];
}
else{
[self showMessage:obj.msg];
}
}];1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
注1:sdk新增authorizeByHideNavBar方法, 去掉了title。用于替换原有的authorize方法 注2:sdk中getTokenByCode目前主要是用于内部sdk逻辑使用,为了统一先放在此处,可以不关注


