Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deatil/lake-admin-addon-lapi

强大的API接口管理系统,支持多种签名算法验证,支持签名字段多个位置存放
https://github.com/deatil/lake-admin-addon-lapi

api api-client lake lake-admin lapi phpapi thinkphp thinkphp6

Last synced: about 2 months ago
JSON representation

强大的API接口管理系统,支持多种签名算法验证,支持签名字段多个位置存放

Awesome Lists containing this project

README

        

## api管理系统

### 项目介绍

* 基于 `lake-admin` 后台管理框架的api管理系统模块插件

### 签名算法

* 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
* 第二步,在stringA最后拼接上key(即key=keyValue)得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
* 特别注意以下重要规则:
~~~
◆ 参数名ASCII码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
◆ 验证调用返回或服务器主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验;
◆ 接口可能增加字段,验证签名时必须支持增加的扩展字段
~~~

### 使用方法

* composer安装
* `composer require lake/lake-admin-addon-lapi`
* 本地安装
* 后台 `本地模块->模块管理->本地安装` 上传模块或者手动将模块上传到 `/addon` 目录
* 手动放置模块或者上传模块请确保目录为 `lapi/Service.php`
* 最后在 `本地模块->模块管理->全部` 安装添加的模块
* 请求示例:/api/Index/index?name=name2&app_id=API2020090322513090789&nonce_str=6V0RVgWV9uCJXncv&timestamp=1599145016&sign=E3728BEEE2A5753CAD2556EA00C92A86

### 模块内 `api` 文件方法设置

* 方法设置
~~~
0,
'msg' => 'hello world!',
'data' => 'api data',
]);
}
}

~~~

### 模块内使用

* `trait` 引用
~~~
use app\BaseController;
use app\lapi\traits\Lapi as LapiTrait;

class Index extends BaseController
{
use LapiTrait;

// 初始化
protected function initialize()
{
parent::initialize();
$this->checkApi();
}
}
~~~

* `继承` 使用
~~~
use app\lapi\boot\Lapi as LapiBase;

class Index extends LapiBase
{
// 初始化
protected function initialize()
{
parent::initialize();

$this->checkApi();
}
}
~~~

* `控制器中间件` 使用
~~~
use app\BaseController;
use app\lapi\middleware\Lapi as LapiMiddleware;

class Index extends BaseController
{
/**
* 控制器中间件
* @var array
*/
protected $middleware = [
LapiMiddleware::class,
];

// 初始化
protected function initialize()
{
parent::initialize();
}
}
~~~

### 模块推荐

| 名称 | 描述 |
| --- | --- |
| [cms系统](https://github.com/deatil/lake-admin-cms) | 简单高效实用的内容管理系统 |
| [用户管理](https://github.com/deatil/lake-admin-addon-luser) | 通用的用户管理模块,实现了用户登陆api的token及jwt双认证 |
| [API接口](https://github.com/deatil/lake-admin-addon-lapi) | 强大的API接口管理系统,支持多种签名算法验证,支持签名字段多个位置存放 |
| [路由美化](https://github.com/deatil/lake-admin-addon-lroute) | 支持thinkphp自带的多种路由美化设置,自定义你的系统url |
| [菜单结构](https://github.com/deatil/lake-admin-addon-lmenu) | 提取后台菜单分级结构格式,为你的模块开发保驾护航 |
| [数据库管理](https://github.com/deatil/lake-admin-addon-database) | 数据库备份、优化、修复及还原,你的系统维护帮手 |
| [广告模块](https://github.com/deatil/lake-admin-ad) | cms模块必备 |
| [自定义表单](https://github.com/deatil/lake-admin-form) | cms模块必备模块 |
| [友情链接](https://github.com/deatil/lake-admin-friendlink) | cms模块必备模块 |

## 版权信息

本模块遵循Apache2开源协议发布,并提供免费使用。

本项目包含的第三方源码和二进制文件之版权信息另行标注。

版权所有 Copyright © deatil(https://github.com/deatil)

All rights reserved。