Download the PHP package kuga/openapi-core without Composer
On this page you can find all versions of the php package kuga/openapi-core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package openapi-core
Kuga-openapi-core
提供API网关系统基础功能框架,功能包话邮件发送、短信发送、OSS配置、日志服务、配置服务、多语言服务等,可根据需要在Init.php中修改进行启用或禁用。
API网关使用说明
- API网关处理程序在src/Core/Api/ApiService.php中
- 不同的接口处理约定在api的json说明文件中约定了,具体见api-json-samle这个例子目录
- 处理API的程序是根据json文件的约定,在src/Api目录中
- api.json文件的规范及相关api的约定见[http://github.com/misnet/apidocs]
- API网关会根据json文件的约定,对json文件中request部分进行校验,也会根据文件约定是否 需要accessToken进行校验;同时json文件中约定了API处理接口的命名空间及处理的类和方法。
- config-sample中的内容为示例内容,是当前应用可能要读取用到的相关配置。
- 本应用不能单独使用。
- 配置中apiLogEnabled启用时,需要配置redis支持
API参数
有两种类型,一种是业务参数,一种是公共参数,公共参数一般是每个基本都需要或可以传递的内容。业务参数是指和当前接口有关的参数。 在本应用中,公共参数一般有:
- Appkey appkey值,需要系统之前有分配
- Version 版本号
- Locale 语言,值有en_US,zh_CN
- Access-Token-Type token类型,值有KUGA、JWT
- Access_Token 用于KUGA类型的token传值
- Authorization 用于JWT的token传值,一般是"Bearer "再加token字串
token类型
本应用支持两种类型的token,一种是KUGA,一种是JWT:
KUGA类型token特点:
- 所有传参全部通过\Kuga\Core\Api\Request\BaseRequest或\Kuga\Core\Api\Request\JWTRequest 的构造函数传递
- headers实际不传参数
- 传递的参数需要Appkey, Appkey是在配置文件中与appsecret配套的一对
- 传递的参数需要Sign,Sign是签名串,根据一定的规则生成的签名串。因为需要签名,客户端需要知道签名规则
- 生成Sign值的参数包括业务参数以及公共参数
JWT特点:
- 业务参数通过\Kuga\Core\Api\Request\JWTRequest 的构造函数传递
- 公共参数通过headers传递
- 对参数不做签名验证
- 生成JWT需要配置在配置文件中 配置 jwtTokenSecret 参数,验证与生成JWT全部在API中进行,通过验证JWT可以得到JWT中的参数
初始化示例:
API网关调用示例:
在local.yaml中配置api
在代码中调用
上面示例提到的api.json参见https://github.com/misnet/acc-api的api-jsons目录
sign签名串生成规则
将所有参数按字母a-z顺序排序,以Key+Value的形式串起来,头尾再加上secret值,例现在有这些参数: 系统分配的Appkey是1001,Appsecret是abc
- roleId: 999
- uid: 123
按Key升序,将Key+Value的顺序排序来串,头尾加上Appsecret的值就是:
然后将上面这个字串进行md5加密,再转为大写,就是sign的值
API编写说明
数据返回的结构一般是
当有错误发生时status值为非零,message值为错误信息
All versions of openapi-core with dependencies
PHP Build Version
Package Version
Requires
php Version
>=7.4
kuga/qing Version >=1.1.0
aliyuncs/oss-sdk-php Version >=2.2.0
qcloudsms/qcloudsms_php Version 0.1.*
alibabacloud/client Version >=1.5.30
phpoffice/phpspreadsheet Version >=1.9.0
guzzlehttp/guzzle Version ^7.15.2
josegonzalez/dotenv Version 4.0.0
kuga/qing Version >=1.1.0
aliyuncs/oss-sdk-php Version >=2.2.0
qcloudsms/qcloudsms_php Version 0.1.*
alibabacloud/client Version >=1.5.30
phpoffice/phpspreadsheet Version >=1.9.0
guzzlehttp/guzzle Version ^7.15.2
josegonzalez/dotenv Version 4.0.0
The package kuga/openapi-core contains the following files
Loading the files please wait ...