commonHttpsRequest

接口描述

此接口为请求透传接口,非认证接口, 只是复用了服务端的https认证配置来做透传的功能, 可用于认证前透传集成应用请求到第三方认证服务器, 并将第三方认证服务器结果响应透传给集成应用, 常用于集成应用认证前需要向第三方认证服务器请求认证所需信息的场景.

接口定义

public commonHttpsRequest(url: string, type: string, value: string, listener: SFCommonHttpsRequestListener): void

参数描述

参数 是否必传 类型 描述
url String aTrust服务器登录地址
type String 透传到aTrust服务器的类型字段,格式为自定义String@认证域,其中认证域名称需要找aTrust设备运维人员提供
value String 透传到aTrust服务器的内容字段, 内容不做限制, 通常用Json格式来满足有多个数据字段需要透传的情况

特别注意:

详细说明:

  1. type参数说明:

    1) type字段的格式为自定义String内容@认证域。请咨询aTrust运维人员以获取认证域名称。

    2) 自定义字符串内容的具体内容也可以向运维人员询问。一般情况下,建议传递格式为用户名@认证域。

    3) 如果运维人员反馈在该透传场景中不需要用户名字段,则建议生成一个随机的UUID作为自定义字符串,格式为生成的UUID@认证域。

  2. value参数说明:

    1) value参数用于传递第三方服务器所需的参数,内容上无任何限制,如果需要传递多个字段,建议使用JSON格式,以便运维人员在服务端进行解析和配置。

    2) SDK仅负责透传数据,不进行任何解析。最终如何与第三方服务器对接由服务端的认证配置决定。可以请求深信服一线团队协助进行服务端配置。

  3. 只能用于主应用在认证前调用

回调接口SFCommonHttpsRequestListener说明


export interface SFCommonHttpsRequestListener {
    onRequestResult(message: SFBaseMessage): void;
}

SFBaseMessage详情

服务器拿到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
        });
    }
}

results matching ""

    No results matching ""