首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >laravel:登录到外部API

laravel:登录到外部API
EN

Stack Overflow用户
提问于 2021-01-07 14:59:55
回答 1查看 2.1K关注 0票数 1

我第一次使用laravel来消费外部api。我需要使用外部api进行身份验证,而不是使用Laravel身份验证。我已经使用失眠症rest客户端测试了端点,得到了200(OK),这是很棒的。为了在Laravel上完成它,我做了以下工作:

我还进口了:

代码语言:javascript
运行
复制
use GuzzleHttp\Client;

我在文件:app/Http/Controllers/Auth/AuthenticatedSessionController中修改了存储方法,并将存储方法更改为

代码语言:javascript
运行
复制
public function store(LoginRequest $request)
{
    $client = new Client(['base_uri'=>'http://www.abcde.com']);
    $response = $client->post('/api/token',['auth'=>[$request->input('email',$request->input('password'))]]);
    dd(($response)->getStatusCode());
}

但我知道错误是:

未定义偏移量:1

我现在卡住了,不知道该怎么做。

编辑的api数据结构:

代码语言:javascript
运行
复制
{
      "email": "greentwigg@gmail.com",
      "password": "Password0001",
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-07 20:28:18

我要修改一下你的代码。如果需要包含标头,则需要将此格式放置在适当的位置。

代码语言:javascript
运行
复制
 public function store(LoginRequest $request)
{
   $client = new Client();
   $response = $client->request('POST','http://www.abcde.com/api/token'),[
   'json' => [
                'email' => $request->input('email'),
                'password' => $request->input('password'),
                ],
            'headers' => [
                'Content-Type' => 'application/json',
            ]
        ]);

    dd(($response)->getStatusCode());
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65614794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档