您好,请检查您的验签方式是否正确。验签为了防止接口被人乱掉用,需要在服务端做验签的逻辑,校验请求的合法性。那么,API服务后端如何进行验签?由于API请求带有targetAppkey,而API服务后端可以通过应用管理拿到对应的appSecret,将奇门云网关生成的签名,与自己服务后端代码生成的签名进行校验,当然TOP API SDK也提供了相关的验签工具(SpiUtils),需要在执行接口逻辑前完成验签校验逻辑。验签返回报文验签的返回内容需要和响应失败的格式(参考上文响应失败参数)对应的上,系统要求如下:奇门参数名类型映射值参数值flag以实际配置为准满足失败条件sub_code以实际配置为准sign-check-failuresub_message以实际配置为准Illegal request如果还不知道验签需要返回什么内容,可以查看『接口文档预览』里面的『验签demo』其中参数名为系统要求的值,如果映射值不同,则以实际映射值为准。返回格式可以参考『接口文档预览』页面的验签demo。如果没有完成验签逻辑,API发布时候会提示验签失败。
java代码示例如下:
CheckResult result = SpiUtils.checkSign(request, targetAppSecret);? //这里执行验签逻辑if(!result.isSuccess()) {
//如果验签失败则需要返回 验签失败的结果,并且需要和配置对应的上,系统才认为是验签成功
HttpSampleResponse httpSampleResponse = new HttpSampleResponse();
httpSampleResponse.setErrorMessage("Illegal request");
httpSampleResponse.setErrorCode("sign-check-failure");
httpSampleResponse.setFlag("failure);
//return
}
奇门->官方集成->官方集成(新)->操作->接入->填上测试线和正式线url地址->进入检测并上线