首页 > 解决方案 > 外部 API 身份验证应该是 Laravel 中的 ServiceProvider 还是 Controller?

问题描述

我正在使用 Laravel 构建一个应用程序,该应用程序将允许客户通过 API 从/向 Mautic(电子邮件营销软件)发送和获取联系人,但首先该应用程序需要获得使用 Mautic API 的自动化并将用户凭据存储到数据库以备将来使用。

这是我如何进行自动化以连接到该 api 的示例

$settings = [
    'userName'   => '',             // Create a new user       
    'password'   => '',             // Make it a secure password
];

// Initiate the auth object specifying to use BasicAuth
$initAuth = new ApiAuth();
$auth     = $initAuth->newAuth($settings, 'BasicAuth');

然后我可以使用这个通过 id 获取联系人

$api        = new MauticApi();  //This class is from the API package
$contactApi = $api->newApi('contacts', $auth, $apiUrl);
$response = $contactApi->get($id);

所以我的问题是我如何组织该逻辑,我应该将所有逻辑都放在控制器中还是最好创建一个服务提供者来负责自动化,然后返回 $auth 句柄,我可以稍后为每个句柄使用客户,如果使用 serviceprovider approch 更好,那么我想知道我该怎么做,我应该把自动化逻辑放在引导方法中吗?

标签: laravellaravel-5

解决方案


推荐阅读