我使用Laravel护照进行API身份验证。我有两条路线 / api /登录 和 / oauth / token
由于我无法对客户端ID进行硬编码,并且登录从JS接收,并且参数和客户端ID在登录方法(laravel)中进行硬编码,因此我试图使用Guzzle(6.0)将值发布到oauth / token(POST请求) )。
我关注了一个youtube视频,但该视频可以正常播放,但我的视频却无法播放。 Iam使用5.6,不确定视频中使用的版本。有人可以帮忙吗?
下面是视频
https://www.youtube.com/watch?v=HGh0cKEVXPI&t=838s
下面是代码
$http = new GuzzleHttp\Client();
$request = $http->post(URI, '/oauth/token', [
'form_params' => [
'username' => 'bar',
'password' => 'xxxxxx',
'client_id' => 2,
'grant_type' => 'password',
'client_secret' => '00000000000000000'
]
]);
return $request;
答案 0 :(得分:1)
您不会只返回尖括号getBody()
的初始化,而是添加 $http = new GuzzleHttp\Client();
$request = $http->post(URI, '/oauth/token', [
'form_params' => [
'username' => 'bar',
'password' => 'xxxxxx',
'client_id' => 2,
'grant_type' => 'password',
'client_secret' => '00000000000000000'
]
]);
return $request->getBody();
{{1}}
答案 1 :(得分:0)
您应该先检查状态,以确保使用
一切正常$request->getStatusCode();
您可以通过
获得答复$request->getBody();
您还可以从此处查看有关使用GuzzulHttp的完整文档 http://docs.guzzlephp.org/en/stable/
答案 2 :(得分:0)
我认为您正在尝试在内置服务器中请求。 因此,您尝试使用两台服务器发送请求。 它将起作用。
类似于 localhost:8000 和 localhost:9000 服务器
使用此命令
php工匠服务
php artisan服务--port = 9000
谢谢。