如何在 laravel 5.5 中验证 Mailchimp api 密钥
Posted
技术标签:
【中文标题】如何在 laravel 5.5 中验证 Mailchimp api 密钥【英文标题】:How to validate Mailchimp api key in laravel 5.5 【发布时间】:2018-07-01 20:59:20 【问题描述】:如果用户输入错误的 api 密钥,我想验证我的 mailchimp apikey 应该显示错误的 mailchimp api 的消息或异常:
我的代码是:
public function authenticateApiKey(Request
$request)
$fieldsValidation = [
'api_key' => 'required|unique:apikey,api_key',
];
$validator = Validator::make($request->all(), $fieldsValidation);
if ($validator->fails())
$resultArray = [
'status' => 0,
'message' => $validator->errors()->first(),
'dataArray' => []
];
else
$api = new APIKEY($request->all());
$request->user()->apikey()->save($api);
$resultArray = ['status' => 1, 'message' => 'Mailchimp Api key added into system successfully!', 'dataArray' => $api];
return \Illuminate\Support\Facades\Response::json($resultArray, 200);
我正在根据登录用户保存我的 api 密钥,并且在此代码中,api 密钥未验证。 任何帮助将不胜感激。
【问题讨论】:
您有一个名为apikey
的表,其中有一列名为api_key
,对吗?
是的,我的列名是 api_key
好的,还有一个名为apikey
的表?至少你的验证规则是这么说的。
是的,我的表名是 apikey,列名是 api_key
我允许在这里输入任何 mailchimp apikey,这是不允许的任何方式,你可以确定这个问题的解决方案。
【参考方案1】:
试试这个:
else
$api = new APIKEY($request->all());
$mailchimp = new \Mailchimp( $api);
$mailchimp_ping = ($mailchimp->call('helper/ping'));
if(!$mailchimp_ping)
//key did not work
//do stuff
$request->user()->apikey()->save($api);
$resultArray = ['status' => 1, 'message' => 'Mailchimp Api key added into system successfully!', 'dataArray' => $api];
如果 API 密钥无效,上述 call
将返回 false,如果密钥有效,它将返回如下内容:
array(1) ["msg"]=> string(20) "Everything's Chimpy!"
【讨论】:
不支持“调用”方法。它这么说 $Sapnesh Nail 如果我复制了你的“未找到类“Mailchimp”的确切代码 你能帮帮我吗? @syed1234 对不起,我不知道为什么它不起作用,但基本想法是使用 api 密钥发出请求。如果有错误捕获它并抛出关键无效异常(只是一条消息)。 你能告诉我如何使用 apikey 提出请求以上是关于如何在 laravel 5.5 中验证 Mailchimp api 密钥的主要内容,如果未能解决你的问题,请参考以下文章
如何在 laravel 5.5 中验证 Mailchimp api 密钥
如何使用 Laravel 5.5 身份验证使电子邮件登录不区分大小写
在 laravel 5.5 的验证 csrf 令牌中没有收到错误令牌不匹配异常
如何在 Laravel 5.5 中为选定的请求类设置自定义响应