我正在向POST api.myserver.com/v1/oauth/token
发送请求,以获取具有client_credentials的令牌,如下所示:
$client = new GuzzleHttp\Client; // A guzzle client
$response = $this->client->post('http://api.myserver.com/v1/oauth/token', [
'form_params' => [
'grant_type' => 'client_credentials',
'client_id' => 'MY_CLIENT_ID',
'client_secret' => 'MY_CLIENT_SECRET',
'scope' => ''
],
'headers' => [
'Accept' => 'application/json'
]
));
我正在使用apiato框架,因此默认的laravel护照令牌生成路径已修改为类似api.myserver.com/v1/oauth/token
的路径,并因此被修改为路径。
现在,当我从浏览器运行该代码时,上面的代码将抛出一个404 not found exception
。当我在POSTman上运行时,它工作正常。当我在测试环境中运行它时,它也可以正常工作。
Client error: `POST http://api.myserver.com/v1/oauth/token` resulted in a `404 Not Found` response:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" co (truncated...)
我很幸运地尝试将路径更改为http://myserver.com/oauth/token
。可能出什么问题了?
答案 0 :(得分:0)
这是我特别为client_credentials
grant_type发生的情况。如果我使用authorization_code
,它可以工作。不确定为什么。
答案 1 :(得分:-1)
好吧,尝试使用浏览器到达此端点时得到404的原因是因为它是POST请求。通过浏览器访问URL时,这是一个GET请求。