本帖最后由 wrx 于 2023-12-19 14:58 编辑
需求背景:
AC对接客户提供的赛邮短信平台实现无线用户通过AC短信认证上网
配置思路: 1.登入客户提供的短信平台,查看对应的接口文档,可以看到短信提交的参数POST DATA必须项有:
appid:短信平台创建的短信应用ID
to:收短信的手机号 project:短信平台创建的短信模板ID signature:短信平台创建的应用ID的密钥
2.针对短信接口文档提到的必须提交的参数,在短信平台新建并查找对应参数
appid和signature对应的appid和appkey
project对应短信模板ID to对应手机号是变量,即可生成提交短信模板
3.AC配置短信服务器,填入对应的请求的URL地址,和短信平台编码格式,请求的类型
4.填入第二步生成的短信模板,手机和短信内容填入AC的参数变量 appid=****** &to=$$MOBILE_NUM$$ &content=******* $$SMS_CONTENT$$ &signature=********************************
5.点击测试认证,查看是否收到短信,这里我点击测试后AC提示发送成功,但是手机没收到短信,在短信平台上也没看到API的错误日志,由于是请求的https抓包看不到具体数据,所以短信平台方给了一个http的测试请求地址抓包。
在AC上开启抓包,目的地址为短信平台地址,然后测试短信平台有效性,抓取的数据包找短信平台确认,是content-type请求方式不在允许的范围内
6.所以需要修改发送的请求数据包中content-type字段,AC前端暂时没有办法修改,需要在后台配置文件进行修改,需要添加HTTP头部信息 Content-Type: application/x-www-form-urlencoded,修改可以联系400处理
7.修改完成后,再次抓包测试,发现已经可以收到测试短信,并且数据包中的content-tpye字段已修改,短信平台对接测试成功。
8.然后将短信平台的地址换成正式地址。新建短信认证服务器和认证策略
9.手机连接无线进行测试认证成功,至此和赛邮短信平台对接完成。 |