commonHttpsRequest
接口描述
此接口为请求透传接口,非认证接口, 只是复用了服务端的https认证配置来做透传的功能, 可用于认证前透传集成应用请求到第三方认证服务器, 并将第三方认证服务器结果响应透传给集成应用, 常用于集成应用认证前需要向第三方认证服务器请求认证所需信息的场景.
接口定义
public commonHttpsRequest(url: string, type: string, value: string, listener: SFCommonHttpsRequestListener): void
参数描述
参数 | 是否必传 | 类型 | 描述 |
---|---|---|---|
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说明
export interface SFCommonHttpsRequestListener {
onRequestResult(message: SFBaseMessage): void;
}
服务器拿到value中的json数据会解析重组为第三方服务器所需的数据结构(服务端配置),然后代理访问第三方服务器,第三方服务器返回的信息会通过回调(onRequestResult)透传给用户侧,信息会保存在SFBaseMessage中的mServerInfo中;
示例代码
let url = "https://10.240.101.11"; //服务器地址
let type = "45454125415@checkAppUpdate"; // 请求类型
let value = "{\"userId\":\"1\",\"appVersion\":\"10.0\",\"type\":\"android\"}"; // 请求参数 (构成json字符串)
SFUemSDK.getInstance().getSFAuth().commonHttpsRequest(this.url, this.type, this.data, this);
public onRequestResult(message: SFBaseMessage): void {
console.log(TAG, 'commonhttpsrequest onRequestResult: ', json.stringify(message));
this.loadingDialog.close();
if (message.mErrCode == 0) {
promptAction.showToast({
message: '请求成功',
duration: 3000
});
router.pushUrl({
url: 'pages/TestPage'
}).then(() => {
hilog.info(0x0000, 'developTag', '%{public}s', 'Succeeded in jumping to the TestNetWorkView page.');
}).catch((err: BusinessError) => {
hilog.error(0x0000, 'developTag', 'Failed to jump to the TestNetWorkView page: %{public}s',
JSON.stringify(err) ?? '');
})
} else {
promptAction.showToast({
message: '请求失败:' + json.stringify(message),
duration: 3000
});
}
}