Во-первых, если этот вопрос плохо сформирован, я прошу прощения. Проще говоря, документация по API-серверу, к которой я пытаюсь подключиться, предоставляет следующее руководство:
Рабочий процесс аутентификации Рабочий процесс аутентификации состоит из двух этапов:
- Используйте свой токен обновления для получения токена доступа клиентской области
- Используйте токен доступа клиентской области для доступа к ресурсам
Я застрял на шагеодин.
Я использую Guzzle 6.x и пытаюсь пройти аутентификацию через OAuth2.
Используя Postman, я легко могу получить токен доступа. Я хотел бы сделать это в своем коде с помощью Guzzle. (или что бы то ни было).
![enter image description here](https://i.stack.imgur.com/uQnnA.png)
Почтальон сгенерировал следующий фрагмент PHP HttpRequest. Могу ли я сделать это с Guzzle? (вопрос вообще имеет смысл?)
<?php
$request = new HttpRequest();
$request->setUrl('https://api-tra/v3/partners/oauth2/token');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'Connection' => 'keep-alive',
'Content-Length' => '559',
'Accept-Encoding' => 'gzip, deflate',
'Content-Type' => 'multipart/form-data; boundary=--------------------------158986490184667130446156',
'Host' => 'api-train.daxko.com',
'Postman-Token' => '28b9d8ac-d0ae-4036-9a61-202e9b39b220,f89cb196-9ada-4c1a-92f7-afc322fec03b',
'Cache-Control' => 'no-cache',
'Accept' => '*/*',
'User-Agent' => 'PostmanRuntime/7.19.0',
'Authorization' => 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3yYWluLWF1dGgiLCJzdWIiOiJmbWN3ZWJzaXRlX3RyYWluIiwiaWF0IjoxNTcwNTQ4OTE3LCJleHAiOjE1NzA1NDg5MTcsImFwaSI6Im9wc19hcGlfdjJfYXV0aCJ9.EnbGN121Ei5hlkPFT6Iqyd1h9_WXDGKplu5RsCH5QZs',
'content-type' => 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
));
$request->setBody('------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="grant_type"
client_credentials
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="client_id"
fmcwebsite_train
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="client_secret"
blC}g!!E@{+_k.VLH
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="scope"
client:2069
------WebKitFormBoundary7MA4YWxkTrZu0gW--');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}