cradlephp/cradle-api

克雷德尔API包

安装次数: 1,109

依赖项: 1

建议者: 0

安全: 0

星级: 0

观察者: 3

分叉: 0

类型:cradle-package

2.3.0 2020-06-20 10:10 UTC

README

一个开发管理和API生成器,包括以下功能。

  • 开发者应用 - 开发者可以使用令牌创建具有REST调用和webhooks的应用程序
  • API作用域 - 管理员可以将REST调用分组到作用域中,这些作用域是开发者应用程序可以使用的选择
  • OAuth2服务器 - 使用与流行网站相同的协议;开发者可以使用户能够与其他应用程序共享他们的信息
  • REST生成器 - 管理员可以在不编程的情况下创建标准REST调用
  • Webhook生成器 - 管理员可以创建事件,通过开发者应用程序通知第三方应用程序
  • API会话管理 - 管理员可以实时查看活动并手动撤销任何API用户的访问权限

安装

如果您已经安装了克雷德尔,可能不需要安装此包,因为它可能已经包含在内。

$ composer require cradlephp/cradle-api
$ bin/cradle cradlephp/cradle-api install
$ bin/cradle cradlephp/cradle-api sql-populate

如何使用

默认情况下,cradle-api包的表将是空的。您可以使用此SQL脚本来手动填充它。

api.sql

因此,当您填充API架构时,将出现一个新部分/developer/app/search。这类似于Facebook开发者门户(但更为原始)。它还自动创建文档/developer/docs/scopes/developer/docs/webhooks

REST

REST调用有三种类型

  • 公共REST调用:/rest/public/profile/search
  • 应用程序REST调用:/rest/public/profile/detail/1?client_id=94341e9d0776b73cc7142cc161faf0e688fdbfb2
  • 用户REST调用:/rest/user/app/search?access_token=8cddabc765dbba7cccaa156105af08c04455775c

您期望这与OAuth v2规范非常相似(以及Facebook的REST样式)。以下截图显示了/admin/system/model/rest/create中的表单字段。

image

REST调用中的路径也可以采用路由参数,如/profile/detail/:profile_id,这些参数也将成为事件调用参数的一部分。

Webhooks

然后webhooks就像GitHub的webhooks。

image

当您创建webhook时,它将可供应用程序使用。但请注意,提供的webhook URL必须是有效的,否则每次创建配置文件时都会变慢(因为它正在尝试调用该webhook URL)。

image

这样就可以创建API而无需编程。但是,您也可以编写自己的REST调用webhooks。

OAuth v2

/developer/app/search中,您也可以尝试3-legged OAuth。

image

这将重定向您到/dialog/request?client_id=94341e9d0776b73cc7142cc161faf0e688fdbfb2。您可以使用此相同的URL通过3-Legged OAuth进行身份验证。现在,只需点击允许即可。

image

完成操作后,它将返回到相同的屏幕,但URL中将包含一个代码参数。(例如:/developer/app/search?code=1234567890)。如果您使用POSTMAN,可以调用POST /rest/access?client_id=[your app key]&client_secret=[your app secret]&code=[the code you got earlier]。这将返回JSON格式的会话令牌,如下所示。

POST /rest/access?client_id=94341e9d0776b73cc7142cc161faf0e688fdbfb2&client_secret=d490f575cd1c48e1b970bb0427ae4ec2b2636403&code=b75272cbf7edbb7a434f77e904a27beb4fe08be7

{
    "error": false,
    "results": {
        "access_token": "f7b9427a17ad4f083fb109ba382a99ca",
        "access_secret": "9d5b6d575f13f2c14c5fa8cc843c07fd",
        "profile_id": "1",
        "profile_name": "John Doe",
        "profile_created": "2019-01-20 06:43:42"
    }
}

为Cradle PHP做出贡献

感谢您考虑为Cradle PHP做出贡献。

请勿在此存储库中创建问题。官方问题跟踪器位于https://github.com/CradlePHP/cradle/issues。在此创建的问题很可能会被忽略。

请注意,主分支包含当前版本的所有边缘发布。请检查您正在使用的版本,并找到相应的分支。例如 v1.1.1 可能在 1.1 分支中。

bug修复将尽快审查。小的功能也将考虑,但请给我一些时间来审查它并回复您。主要功能只会在 master 分支上考虑。

  1. 克隆仓库。
  2. 在本地终端启动并切换到您想贡献的版本。
  3. 进行您的更改。
  4. 始终确保在所有提交上签上 (-s) (git commit -s -m "提交信息")

创建 pull 请求

  1. 在创建 pull 请求之前,请确保运行 phpunitphpcs
  2. 将您的代码推送到您远程的克隆版本。
  3. 回到您在 GitHub 上的克隆版本,并提交一个 pull 请求。
  4. 所有 pull 请求都将传递到 Travis CI 进行测试。同时请注意,Coveralls 也用于分析您的贡献覆盖率。