@RestController
@RequestMapping("api")
@SignedMapping
public class TestController {
@RequestMapping("test")
public String test(@RequestBody SignedParam signedParam) {
// the request data is signedParam.getData() in JSON
// then do something in service
return "SUCCESS";
}
}
只需要在 Controller 加上 @SignedMapping 注解,即说明该接口需要签名校验。
SignedParam 类即为包含了签名,数据等的实体类,使用 Json 格式接收请求。
支持重放攻击的防护,也可以自定义实体类和加密规则。
开源地址:API-Signed
仓库包含接入和调用文档,以及基于 Spring boot 的 web 示例。
感谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.