Xero Private App Authentication с использованием OpenSSL - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь решить проблему аутентификации с помощью Xero API , используя личное приложение. Я считаю, что ввод в OpenSSL сформирован правильно, пример строки (с некоторыми значениями, измененными на *):

GET & HTTPS% 3A% 2F% 2Fapi.xero.com% 2Fapi.xro% 2F2.0% 2FContacts & oauth_consumer_key% 3D *% 26oauth_nonce% 3D45016% 26oauth_signature_method% 3DRSA-SHA1% 26oauth_timestamp% 3D1548160216% 26oauth_token% 3D *% 26oauth_version% 3D1 0,0

Конечная точка Xero API возвращает: 'oauth_problem=signature_invalid & oauth_problem_advice=Failed to validate signature', поэтому я считаю, что OpenSSL может быть проблемой, вызванной из строки cmd со следующими параметрами:

dgst -sha1 -hex -sign privatekey.pem -out C: \ Temp \ Xero \ signature.txt C: \ Temp \ ксеро \ OpenSSLSignInput.txt

(подпись затем кодируется в base64 перед добавлением в oauth_signature).

За исключением того, что я нашел ссылку на использование -binary в параметрах OpenSSL (и не использование ключа -hex, но когда дело доходит до чтения в результате из signature.txt -hex - единственный формат, который не вызывает ошибку .)

Благодарен, если кто-то может уточнить, какие параметры следует использовать с OpenSSL , чтобы получить правильную сигнатуру для частного приложения Xero API (и / или если кто-то может обнаружить любые проблемы с моей входной строкой).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...