commonHttpsRequest
接口描述
此接口为请求透传接口,非认证接口, 只是复用了服务端的https认证配置来做透传的功能, 可用于认证前透传集成应用请求到第三方认证服务器, 并将第三方认证服务器结果响应透传给集成应用, 常用于集成应用认证前需要向第三方认证服务器请求认证所需信息的场景.
接口定义
public void commonHttpsRequest(String url, String type, String value, SFCommonHttpsRequestListener listener)
参数描述
参数 | 是否必传 | 类型 | 描述 |
---|---|---|---|
url | 是 | String | 请求服务器的服务器地址信息 |
type | 是 | String | 请求类型,需要使用uuid拼接https认证域,uuid@xxx |
value | 是 | String | 请求值,参数可以构造成一个 json字符串 |
特别注意:
- https认证的value参数为第三方服务器需要的参数,以json格式传递(具体格式需要管理员根据实际https服务器要求在服务端配置),json数据中的key和value需要和服务器管理员在配置https认证服务器时配置的key, value一致,构建出json后,作为commonHttpsRequest接口的value参数传入, 客户端只是透传数据, 不做任何解析动作, 最终如何和第三方服务器对接是由服务端认证配置决定的, 可以让深信服一线协助在服务端进行配置;
- 只能用于主应用在认证前调用
回调接口SFCommonHttpsRequestListener说明
public interface SFCommonHttpsRequestListener {
void onRequestResult(SFBaseMessage message);
}
服务器拿到value中的json数据会解析重组为第三方服务器所需的数据结构(服务端配置),然后代理访问第三方服务器,第三方服务器返回的信息会通过回调(onRequestResult)透传给用户侧,信息会保存在SFBaseMessage中的mServerInfo中;
示例代码
String url = "https://10.240.101.11"; //服务器地址
String type = "45454125415@checkAppUpdate"; // 请求类型
String value = "{\"userId\":\"1\",\"appVersion\":\"10.0\",\"type\":\"android\"}"; // 请求参数 (构成json字符串)
SFUemSDK.getInstance().getSFAuth().commonHttpsRequest(url, type, value, new SFCommonHttpsRequestListener() {
@Override
public void onRequestResult(SFBaseMessage message) {
SFLogN.info(TAG, "ServerInfo: " + message.mServerInfo);
}
});