# sutongapi-backend **Repository Path**: shongwei/sutongapi-backend ## Basic Information - **Project Name**: sutongapi-backend - **Description**: 苏瞳API开放平台,一个提供API接口调用的平台。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2024-09-26 - **Last Updated**: 2024-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README - # SutongOpenApi 开放API平台(后端源码) 一个提供API接口调用的平台,用户可以注册登录,开通接口调用权限。用户可以使用接口,并且每次调用会进行统计。管理员可以发布接口、下线接口、接入接口,以及可视化接口的调用情况、数据。 ## 技术选型 - Java Spring Boot - Spring Boot Starter (SDK开发) - Dubbo - Nacos - Spring Cloud Gateway (网关、限流、日志实现) ## 签名算法 客户端生成签名: 1. 从原始请求中提取关键数据,得到一个用来签名的签名串 2. 使用加密算法加AccessKey对关键数据签名串进行加密处理,得到签名 3. 将签名所相关的所有头加入到原始HTTP请求中,得到最终HTTP请求 服务器验证客户端签名: 1. 从接收到的请求中提取关键数据,得到一个用来签名的签名串 2. 从接收到的请求中读取AccessKey,通过AccessKey查询到对应的SecretKey 3. 使用加密算法和AccessKey对关键数据签名串进行加密处理,得到签名 4. 从接收到的请求中读取客户端签名,对比服务器端签名和客户端签名的一致性 ## 项目架构 - sutongapi-platform 提供前端页面接口的增删改查服务 - sutongapi-gateway API网关,栏在接口的具体实现服务前,进行统一验签,统计等 - sutongapi-interface 接口的具体实现服务 + sutongapi-client-sdk SDK + sutongapi-common 公共的类 具体业务流程: ![业务流程](docs/业务流程.jpg)