add authcode and config api for open platform
This commit is contained in:
@@ -4,9 +4,13 @@ import cn.wildfirechat.common.APIPath;
|
||||
import cn.wildfirechat.pojos.*;
|
||||
import cn.wildfirechat.sdk.model.IMResult;
|
||||
import cn.wildfirechat.sdk.utilities.ChannelHttpUtils;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.wildfirechat.proto.ProtoConstants.ApplicationType.ApplicationType_Channel;
|
||||
import static cn.wildfirechat.proto.ProtoConstants.ApplicationType.ApplicationType_Robot;
|
||||
|
||||
//仅专业版支持,社区版不支持
|
||||
public class ChannelServiceApi {
|
||||
private final ChannelHttpUtils channelHttpUtils;
|
||||
@@ -76,12 +80,25 @@ public class ChannelServiceApi {
|
||||
return channelHttpUtils.httpJsonPost(path, null, OutputStringList.class);
|
||||
}
|
||||
|
||||
public IMResult<OutputApplicationUserInfo> applicationGetUserInfo(String authCode) throws Exception {
|
||||
String path = APIPath.Channel_Application_Get_UserInfo;
|
||||
InputApplicationGetUserInfo input = new InputApplicationGetUserInfo();
|
||||
input.setAuthCode(authCode);
|
||||
return channelHttpUtils.httpJsonPost(path, input, OutputApplicationUserInfo.class);
|
||||
}
|
||||
|
||||
public IMResult<OutputVerifyApplicationUserInfo> verifyApplicationUserInfo(String token) throws Exception {
|
||||
String path = APIPath.Channel_Verify_Application_UserInfo;
|
||||
InputVerifyApplicationUserInfo input = new InputVerifyApplicationUserInfo();
|
||||
input.setToken(token);
|
||||
return channelHttpUtils.httpJsonPost(path, input, OutputVerifyApplicationUserInfo.class);
|
||||
public OutputApplicationConfigData getApplicationSignature() {
|
||||
int nonce = (int)(Math.random() * 100000 + 3);
|
||||
long timestamp = System.currentTimeMillis()/1000;
|
||||
String str = nonce + "|" + channelHttpUtils.getChannelId() + "|" + timestamp + "|" + channelHttpUtils.getChannelSecret();
|
||||
String sign = DigestUtils.sha1Hex(str);
|
||||
OutputApplicationConfigData configData = new OutputApplicationConfigData();
|
||||
configData.setAppId(channelHttpUtils.getChannelId());
|
||||
configData.setAppType(ApplicationType_Channel);
|
||||
configData.setTimestamp(timestamp);
|
||||
configData.setNonceStr(nonce+"");
|
||||
configData.setSignature(sign);
|
||||
return configData;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1196,6 +1196,9 @@ public class Main {
|
||||
System.out.println("cancel group manager failure");
|
||||
System.exit(-1);
|
||||
}
|
||||
|
||||
OutputApplicationConfigData config = robotService.getApplicationSignature();
|
||||
System.out.println(config);
|
||||
}
|
||||
|
||||
|
||||
@@ -1422,6 +1425,8 @@ public class Main {
|
||||
System.out.println("get channel info failure");
|
||||
System.exit(-1);
|
||||
}
|
||||
OutputApplicationConfigData config = channelServiceApi.getApplicationSignature();
|
||||
System.out.println(config);
|
||||
}
|
||||
static void testSensitiveApi() throws Exception {
|
||||
List<String> words = Arrays.asList("a","b","c");
|
||||
|
||||
@@ -3,11 +3,13 @@ package cn.wildfirechat.sdk;
|
||||
import cn.wildfirechat.common.APIPath;
|
||||
import cn.wildfirechat.pojos.*;
|
||||
import cn.wildfirechat.sdk.model.IMResult;
|
||||
import cn.wildfirechat.sdk.utilities.AdminHttpUtils;
|
||||
import cn.wildfirechat.sdk.utilities.RobotHttpUtils;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.wildfirechat.proto.ProtoConstants.ApplicationType.ApplicationType_Robot;
|
||||
|
||||
public class RobotService {
|
||||
private final RobotHttpUtils robotHttpUtils;
|
||||
|
||||
@@ -216,11 +218,25 @@ public class RobotService {
|
||||
return robotHttpUtils.httpJsonPost(path, input, Void.class);
|
||||
}
|
||||
|
||||
public IMResult<OutputVerifyApplicationUserInfo> verifyApplicationUserInfo(String token) throws Exception {
|
||||
String path = APIPath.Robot_Verify_Application_UserInfo;
|
||||
InputVerifyApplicationUserInfo input = new InputVerifyApplicationUserInfo();
|
||||
input.setToken(token);
|
||||
return robotHttpUtils.httpJsonPost(path, input, OutputVerifyApplicationUserInfo.class);
|
||||
public IMResult<OutputApplicationUserInfo> applicationGetUserInfo(String authCode) throws Exception {
|
||||
String path = APIPath.Robot_Application_Get_UserInfo;
|
||||
InputApplicationGetUserInfo input = new InputApplicationGetUserInfo();
|
||||
input.setAuthCode(authCode);
|
||||
return robotHttpUtils.httpJsonPost(path, input, OutputApplicationUserInfo.class);
|
||||
}
|
||||
|
||||
public OutputApplicationConfigData getApplicationSignature() {
|
||||
int nonce = (int)(Math.random() * 100000 + 3);
|
||||
long timestamp = System.currentTimeMillis()/1000;
|
||||
String str = nonce + "|" + robotHttpUtils.getRobotId() + "|" + timestamp + "|" + robotHttpUtils.getRobotSecret();
|
||||
String sign = DigestUtils.sha1Hex(str);
|
||||
OutputApplicationConfigData configData = new OutputApplicationConfigData();
|
||||
configData.setAppId(robotHttpUtils.getRobotId());
|
||||
configData.setAppType(ApplicationType_Robot);
|
||||
configData.setTimestamp(timestamp);
|
||||
configData.setNonceStr(nonce+"");
|
||||
configData.setSignature(sign);
|
||||
return configData;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -115,4 +115,11 @@ public class ChannelHttpUtils {
|
||||
return str == null || str.isEmpty();
|
||||
}
|
||||
|
||||
public String getChannelId() {
|
||||
return channelId;
|
||||
}
|
||||
|
||||
public String getChannelSecret() {
|
||||
return channelSecret;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,4 +118,11 @@ public class RobotHttpUtils {
|
||||
return str == null || str.isEmpty();
|
||||
}
|
||||
|
||||
public String getRobotId() {
|
||||
return robotId;
|
||||
}
|
||||
|
||||
public String getRobotSecret() {
|
||||
return robotSecret;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user