我在我的应用程序中安装了 Guzzle Bundle,当我调用它时收到 401 未经授权的响应。在我的 Dev RestClient 中有一个基本身份验证设置,我输入了用户名和密码,它可以工作。但是我无法使用 symfony 让它在我的控制器中工作。我的猜测是 config.yml 中有一些我不理解的东西。
控制器
/**
* Charting\Backoffice controller.
*/
class BackOfficeController extends Controller
{
/**
* Lists all MTI_Cart\AODHomePage entities.
*
* @Route("/", name="backoffice_index")
* @Method("GET")
*/
public function indexAction()
{
$client = $this->get('guzzle.client.api_backoffice');
$response = $client->get('/users');
var_dump($response); die;
}
}
还有我的配置
guzzle:
clients:
api_backoffice:
base_url: "http://chartingapi.com"
# custom headers
headers:
Accept: "application/json"
# guzzle client options (full description here: http://guzzle.readthedocs.org/en/latest/request-options.html)
# NOTE: "headers" option is not accepted here as it is provided as described above.
options:
auth:
- backoffice # login
- mysupercoolpassword # password
timeout: 30
# plugin settings
#plugin:
#wsse:
#username: backoffice
#password: mysupercoolpassword
#####in case we want to consume another api
#api_some_otherapi:
# base_url: "http://api.crm.tld"
# headers:
# Accept: "application/json"
PS .. 上面的间距是正确的,只是还没弄清楚如何让这个输入表单表现得像我想要的那样。(想象一下向左 4 个空格狂饮)
所以要重申:当我运行上面配置中列出的用户名和密码时,它在 POSTMAN 中工作正常,但是在使用这个配置/guzzle 运行它时我得到 401 未经授权