爱意满满的作品展示区。
Veneris

最近要开放 API 给第三方调用,造了个小轮子,已开源

  •  
  •   Veneris ·
    viticis · Aug 18, 2020 · 3560 views
    This topic created in 2120 days ago, the information mentioned may be changed or developed.
    @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 示例。
    感谢。

    4 replies    2020-08-22 22:28:09 +08:00
    vinko
        1
    vinko  
       Aug 18, 2020 via iPhone
    赞一个
    Veneris
        2
    Veneris  
    OP
       Aug 19, 2020
    @vinko 感谢
    lavvrence
        3
    lavvrence  
       Aug 20, 2020
    我自己也写过一个类似的。打在方法上,取的名字 `@NeedSign`
     用 AOP 实现的。
    Veneris
        4
    Veneris  
    OP
       Aug 22, 2020
    @jaylee4869 哈哈,大概思路都是差不多的,我是做的时候没有基本没有开源的库,只好现写了一个
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5470 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 08:50 · PVG 16:50 · LAX 01:50 · JFK 04:50
    ♥ Do have faith in what you're doing.