SOP 1.11.0 发布,开放平台解决方案项目

本次更新内容如下:

  • 秘钥管理改造 doc
  • 服务端返回sign
  • 新增SDK返回sign处理
  • 新增沙箱环境

本次更新的重点内容是秘钥管理,新增了平台方的公私钥。如此一来,对接开放平台会有两套公私钥,一套由开发者生成的,一套由开放平台生成的。其中开发者持有appKey,开发者私钥、开放平台公钥。对接过支付宝开放平台的同学应该不会陌生。

新增了开放平台公私钥后,会对返回的结果进行一次签名,返回的类似下面格式:

{
    "alipay_story_find_response": {
        "msg": "Success",
        "code": "10000",
        "name": "白雪公主",
        "id": 1,
        "gmtCreate": 1554193987378
    },
    "sign": "xxxxx"
}

其中sign字段为服务端生成的签名串,因此SDK需要验证签名合法性。SDK处理方式如下:

    String url = "http://open.domian.com/api";
    String appId = "2019032617262200001";
    /** 开发者私钥 */
    String privateKeyIsv = "开发者私钥";
    /** 开放平台提供的公钥 */
    String publicKeyPlatform = "开放平台提供的公钥";

    OpenClient client = new OpenClient(url, appId, privateKeyIsv, publicKeyPlatform);

在构造函数中追加一个开发平台提供的公钥,这样请求后SDK会自动校验。

本次更新新增了沙箱环境,可提供给开发者进行接口调用,效果图如下

关于SOP

SOP(Simple Open Platform)

一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。

SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平台的一样的接口提供能力。

SOP封装了开放平台大部分功能包括:签名验证、统一异常处理、统一返回内容 、业务参数验证(JSR-303)、秘钥管理等,未来还会实现更多功能。

项目特点

  • 接入方式简单,与老项目不冲突,老项目注册到注册中心,然后在方法上加上注解即可。
  • 架构松耦合,业务代码实现在各自微服务上,SOP不参与业务实现,这也是Spring Cloud微服务体系带来的好处。
  • 扩展简单,开放平台对应的功能各自独立,可以自定义实现自己的需求,如:更改参数,更改签名规则等。

谁可以使用这个项目

  • 有现成的项目,想改造成开放平台供他人调用
  • 有现成的项目,想暴露其中几个接口并通过开放平台供他人调用
  • 想搭一个开放平台新项目,并结合微服务的方式去维护
  • 对开放平台感兴趣的朋友

以上情况都可以考虑使用SOP

架构图

猜你喜欢

转载自www.oschina.net/news/107818/sop-1-11-0-released
SOP