agenciamav / laravel-ifood
此包已被弃用且不再维护。没有建议的替代包。
Laravel 包,用于与 Ifood 的新 API 集成。
v1.0.2
2021-08-28 08:15 UTC
Requires
- php: ^7.1|^8.0
- guzzlehttp/guzzle: ^7.3
- illuminate/support: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
README
Laravel 包,用于与 Ifood 的新 API 集成。
安装
通过 composer 安装包
composer require agenciamav/laravel-ifood
从 developer.ifood.com.br 获取您的类型为 分布式 的应用凭证,并在 .env
文件中插入
// .env IFOOD_CLIENT_ID=****** IFOOD_CLIENT_SECRET=******
将 LaravelIfood
特性添加到您想集成的模型中
namespace App\Models; use Agenciamav\LaravelIfood\LaravelIfood; class User extends Model { use LaravelIfood; }
这将向模型添加必要的认证功能。
如果您需要应用程序的授权接口,您可以发布包的配置和资源
php artisan vendor:publish --provider=Agenciamav\LaravelIfood\LaravelIfoodServiceProvider
这将生成一个包含包配置和资源的 config/ifood.php
文件。
/config
/ifood.php
/resources
/js
/Pages
/Ifood
Auth.vue
Merchant.vue
Header.vue
...
运行命令 php artisan migrate
以创建必要的表。
好了!现在您可以开始使用 iFood 的资源了。
如何使用
授权应用程序
$user = request()->user(); // Ou qualquer model que use o trait // 1. Obtém USER CODE para inserir no portal do iFood $user->getUserCode(); // Retorna: 'XXXX-XXXX' // 2. Após informar o USER CODE no portal do iFood, um AUTHORIZATION CODE será gerado $auth_code = 'XXXX-XXXX'; // O código de autorização gerado pelo iFood // 3. Passando o AUTHORIZATION CODE, obtém-se o token de acesso $user->getAccessToken($auth_code); // Retorna o ACCESS TOKEN
这样,访问令牌将被存储在数据库中,并保存在会话中,以便在所有请求中使用。
使用示例
use Agenciamav\LaravelIfood\Models\Merchant; Merchant::all(); // Obtém todas as lojas conectadas Merchant::show('xxx...'); // Obtém detalhes de uma loja via UUID
其他功能正在实施中。
您可以为包的开发做出贡献。通过 fork 此存储库并提交 pull request 来贡献。
您可以在 iFood 文档 中找到更多信息。
关于授权和认证
Ifood 提供了两种授权流程:应用凭证授权流程 和 授权码授权流程。本包旨在满足为 类型 "分布式" 注册的应用程序的 授权码授权流程。
此流程要求您的应用程序用户能够通过合作伙伴门户进行身份验证并授权应用程序请求的连接。
授权码授权流程
- 您的应用程序请求绑定代码 ✔
- 接收绑定代码和验证码 ✔
- 在合作伙伴门户中插入绑定代码 ✔
- 授权应用程序后,在应用程序中输入授权码 ✔
- 使用授权码和验证码请求访问令牌 ✔
- 应用程序接收访问令牌和刷新令牌 ✔
- 应用程序使用令牌通过 iFood 的 API 访问商店资源 ✔
- 应用程序使用刷新令牌更新访问令牌 🟠 WIP
步骤 在此
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何安全问题,请通过电子邮件 agenciamav@gmail.com 而不是使用问题跟踪器。
致谢
许可协议
MIT 许可协议 (MIT)。请参阅许可文件获取更多信息。