Не удается получить ошибку 4A OAuth с Desk.com - PullRequest
0 голосов
/ 01 марта 2012

Я работаю над этим уже несколько дней, пытаясь заставить эту аутентификацию работать с API Desk.com http://dev.desk.com/. Я даже пытался использовать разветвленную среду, такую ​​как https://github.com/buildmaster/oauth-mvc.net#readme но я все еще получаю 401 ошибки ... Я никогда не смогу авторизоваться.

Я не могу провести еще один день с этим неработающим ... и уже потратил несколько дней на это ... Это весь мой собственный код, который я тут бьюсь, пытаясь понять, почему Desk.com отклоняет мою первую попытку сделать API-вызов здесь.

Desk.com говорит, что это должна быть моя подпись, но я проверял свою подпись снова и снова и чувствую, что подпись не проблема. Я даже пытался использовать oauth-mvc.net и использовал их утилиты для создания моей подписи (https://github.com/buildmaster/oauth-mvc.net#readme), и я все еще получаю 401 обратно при использовании создания сиг с этой структурой. Поэтому я не могу быть уверен, что это подпись должно быть что-то простое глупое в том, как я формирую запрос .. Я не уверен.

Так вот мой код ... Я не могу понять для себя, что не так. Просто следуйте этому, как будто вы отлаживаете со мной. (К вашему сведению, если вы его не видите, щелкните правой кнопкой мыши на изображении и выберите просмотр, чтобы увидеть полную картинку).

1_UnitTestStart.jpg enter image description here 2_AboutToCreateSignature.jpg enter image description here 2_AboutToCreateSignature_2.jpg enter image description here 3_AboutToCreateSignatureBase.jpg enter image description here 4_AboutToEncodeEachKeyAndValue.jpg enter image description here 6_AboutToSortEncodedParamList.jpg enter image description here 7_ParamListIsSorted.jpg enter image description here 8_AboutToNormalizeTheSortedParamList.jpg enter image description here 9_SortedParamListIsNowNormalized.jpg enter image description here 10_ShowingMyUrlEncodeMethodHere.jpg enter image description here 11_BaseSignatureStringCreated.jpg enter image description here 12_SigningTheHMACSHA1.jpg enter image description here 13_ConvertingToHash.jpg enter image description here 14_Hashed.jpg enter image description here 15_ReturnFinalSignature.jpg enter image description here 16_AboutToGetAuthHeaderParamsNormalizedForRequestHeader.jpg enter image description here 16_AboutToGetAuthHeaderParamsNormalizedForRequestHeader_2.jpg enter image description here 17_ParamsAreNormalizedForRequestHeader.jpg enter image description here 18_AboutToSendAPIRequestToGetAllCases.jpg enter image description here 19_AboutToCreateTheHttpWebRequest.jpg enter image description here 20_AboutToAddHeadersToRequest.jpg enter image description here 20_AboutToAddHeadersToRequest_2.jpg enter image description here 21_AboutToSendTheRequest.jpg enter image description here 22_ViewOfRequestInfoBeforeSending.jpg enter image description here 23_Response401Error.jpg enter image description here 24_Fiddler_RequestDetails.jpg enter image description here 24_Fiddler_RequestDetails_2.jpg enter image description here 24_Fiddler_RequestDetails_3.jpg enter image description here 24_Fiddler_RequestDetails_4.jpg enter image description here

Ответы [ 2 ]

0 голосов
/ 04 февраля 2013

Это довольно поздний ответ, но если у кого-то возникнут проблемы, он может помочь.

Вы можете использовать RestSharp, чтобы упростить работу с API desk.com. Сначала у меня возникли некоторые проблемы, когда OAuth работал, но после добавления RestSharp в проект все стало намного проще. Я собрал небольшой SDK для этого. Это далеко не сделано, но вы можете получить исходный код и посмотреть, как установлено соединение:

http://danielsaidi.github.com/desk-csharp-sdk/

0 голосов
/ 02 марта 2012

99% времени, неверная подпись означает, что есть проблема с вашей базовой строкой подписи. Ваш код должен всегда записывать это значение, потому что он вам понадобится в тот или иной момент ...

Похоже, что ваша базовая строка подписи не содержит параметр oauth_version. Ваша база сигнатур должна содержать все параметры, начинающиеся с oauth_, и любые параметры строки запроса (но похоже, что вы ничего не отправляете в qs).

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