Как преобразовать OAuth2-запрос Postman Authorization в код PHP или сжимаемый процесс - PullRequest
0 голосов
/ 09 ноября 2018

Я работаю с новым SAGE API v3.1.

Для первых шагов я тестирую с почтальоном в соответствии с руководством для получения авторизации.

Любая проблема, с тестом. Когда вы звоните, чтобы получить новый токен доступа, почтальон отправляет запрос, и SAGE открывает модальное окно для запроса моих учетных данных для подключения моего запроса к одной учетной записи.

Хорошо. Я пробую несколько вариантов с Laravel 5.7, включаю модификации на Laravel Socialite, но не работаю. При всех попытках получите внутреннюю ошибку сервера, и я предполагаю, что это потому, что я отправляю запрос неправильно.

В руководстве SAGE я не вижу больше того примера Postman для получения токена доступа. Не пример для php, curl, ...

По другим просьбам у меня нет проблем с использованием Guzzle, но мне нужно получить токен и новый токен с Почтальоном. Horrible.

enter image description here

Изображение показывает реальную информацию для Тестовой учетной записи.

На консоли почтальона, получить некоторую информацию, но я потерял с этим и внутренняя ошибка сервера

Request Headers:
   content-type:"application/x-www-form-urlencoded"
   user-agent:"PostmanRuntime/7.3.0"
   accept:"*/*"
   host:"oauth.accounting.sage.com"
   accept-encoding:"gzip, deflate"
   content-length:274
Request Body:
   grant_type:"authorization_code"
   code:"ES/e1fd0bc2-1d06-41b6-902a-beb584f24ccf"      
   redirect_uri:"https://localhost/login/sage/callback"
   client_id:"c420127c-76f3-48e5-9c11-77fcba90402d/2c09ea61-249c-4958-96f0-89209f1939e8"
   client_secret:"?]@4iVWBhx/)gN;bA2M%"

ПРИМЕЧАНИЕ. Все данные действительны для тестирования. ПРИМЕЧАНИЕ2: это часть, которую я не понимаю code:"ES/e1fd0bc2-1d06-41b6-902a-beb584f24ccf" Что это? Как сгенерировать?

С этими данными я пытаюсь поставить ссылку https://www.sageone.com/oauth2/auth/central?grant_type%3Aauthorization_code%26code%3DES%2F37048339-8db2-4168-bfb0-760ef6709b93%26redirect_uri%3Dhttps%3A%2F%2Flocalhost%2Flogin%2Fsage%2Fcallback%26client_id%3Dc420127c-76f3-48e5-9c11-77fcba90402d%2F2c09ea61-249c-4958-96f0-89209f1939e8%26client_secret%3D%3F%5D%404iVWBhx%2F)gN%3BbA2M%25%0A) подражать Почтальону, но после того, как поставил свои учетные данные, не возвращаюсь в обратный вызов. Вместо этого он попал в аккаунт SAGE.

1 Ответ

0 голосов
/ 10 ноября 2018

Почтальон отправляет запрос на получение нового токена в виде запроса GET, Laravel ожидает, что это будет POST-запрос .

Мне пришлось сделать свой собственный запрос POST OAuth Token в Postman, чтобы он заработал, поскольку функция нового маркера доступа Postman не позволяет изменить метод запроса на POST. Из пользовательского запроса POST необходимо вручную скопировать токен ответа, щелкнуть правой кнопкой мыши, отредактировать коллекцию, перейти на вкладку «Авторизация», выбрать «Тип OAuth 2.0» и вставить свой токен oAuth в доступное поле.

Все запросы, для которых необходимо использовать токен, убедитесь, что на вкладке Авторизация каждой записи запроса выбран Наследовать аутентификацию от родителя для TYPE , чтобы наследовать токен. из коллекции.

...