深信服aTrust作为下一代的远程办公接入解决方案,同样集成了短信接口集成的功能,由于我们的客户只有短信宝的短信接口,网络上也搜不到响应的对接方案,经过我们工程师的尝试,按以下步骤操作即可完成短信接口的对接,在此之前请确认aTrust可以访问互联网并配置了DNS服务器。

首先我们要参考所使用的短信接口调用规则:https://www.smsbao.com/openapi/213.html,可以发现调用格式如下:

http://api.smsbao.com/sms?u=USERNAME&p=PASSWORD&m=PHONE&c=CONTENT

登录到深信服aTrust的后台管理页面,在短信网关的位置进行新增短信网关的配置。

深信服aTrust对接短信宝HTTPS短信接口

填写接口名称等基本信息后,主要就是要提交的请求内容和方式,我们采用GET方式提交。

深信服aTrust对接短信宝HTTPS短信接口

短信的模板如下配置:

#验证码通知
{{user.username}},您好!
您的验证码为:{{env.code}} , {{env.smsEffectiveTime}}分钟内有效 , 请妥善保管!

#上线风险通知
您的账号存在异常登录行为,请关注:
账号:{{user.username}}
时间:{{config.dateTime}}
地点:{{env.city}} {{env.ip}}
详情:{{env.events}}
终端名称:{{env.deviceName}}
终端类型:{{env.deviceOS}}
如果是您本人操作,请忽略此次提醒
如果非本人操作,请尽快修改密码或联系管理员处理

#SPA分发通知
尊敬的{{user.username}}先生/女士:
您的办公接入客户端的安全码为{{env.spaSecret}}
当客户端连接地址{{env.serverAddress}}失败时可通过此安全码进行激活后正常登录。注意安全码有效期截止时间为{{env.spaValidDate}}。

#管理员验证码通知
{{user.username}},您好!
您的验证码为:{{env.code}} , {{env.smsEffectiveTime}}分钟内有效 , 请妥善保管!

至此配置都比较简单,验证内容也可以成功的提交到短信宝的调用接口上,但是返回值的相应处理上遇到了一些问题,直接看响应内容是包含http头等相关的信息,直接将认证条件设置为body等于0,aTrust无法正常处理。

{ "statusCode": 200, "data": { "headers": { "server": "nginx/1.11.2", "date": "Thu, 02 Mar 2023 04:54:53 GMT", "content-type": "text/plain; charset=iso-8859-1", "content-length": "1", "connection": "close" }, "body": "0" } }

因为短信宝发送短信成功只会返回一个数字0,但是aTrust默认只能处理xml或json格式,所以要用到预格式处理来封装我们需要的内容。

深信服aTrust对接短信宝HTTPS短信接口
/**
 * 示例函数:
 * @brief 后置响应预处理函数。对http(s)认证服务器返回的数据,预处理成
 *        标准的json格式数据。
 *        如果启用了此脚本,则会使用result中的数据进行认证成功判断
 * @param response{object} http(s)认证服务器返回的结果对象
 * @param result{object} 响应预处理后的结果对象(json格式)
 */
function AfterResponse(response, result) {
  //TODO: 在此添加nodejs代码
    if(response.body.toString().indexOf("0") != -1)
    {
        result.code = 1;
    }
    else
    {
        result.code = -1;
    }   
}
AfterResponse(response, result);

思路就是把返回来的对象转成字符串,然后找有没有0,有就给result对象的code属性赋值1表示发送成功,没有就赋值-1表示失败。

深信服aTrust对接短信宝HTTPS短信接口

完成上述配置后,短信接口配置完成。

相关新闻

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

400-0512-768

邮件:support@sworditsys.com

工作时间:周一至周五 8:00 - 21:00

分享本页
返回顶部