Реализация V10 спецификации OAuth2 с Indy

Я пытаюсь реализовать OAuth2 для MailChimp.

В документации по API говорится

Наш сервер реализует v10 спецификации OAuth2 и поддерживает поток веб-сервера.

Для прошлых реализаций OAuth2 я использовал следующие настройки:

  SSLOptions.Method := sslvSSLv23;
  SSLOptions.SSLVersions := [sslvSSLv23];
  --- or ---
  SSLOptions.Method := sslvTLSv1_2;
  SSLOptions.SSLVersions := [sslvTLSv1_2];

Поддерживает ли Indy10 версию 10 ??

 TIdSSLVersion = (sslvSSLv2, sslvSSLv23, sslvSSLv3, sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2);

Я получаю сообщение об ошибке «HTTP / 1.0 400 Bad Request» при попытке вызова OAuth. Не уверен, что это плохие параметры или я не отправляю правильное управление версиями SSL. Они не предоставляют много документации / устранения неполадок.


person M Schenkel    schedule 13.02.2016    source источник


Ответы (1)


Indy вообще не поддерживает OAuth, не говоря уже о версии 10 OAuth2. Однако существует несколько сторонних реализаций OAuth, использующих Indy.

При этом связь с сервером осуществляется по обычному протоколу HTTPS, с которым Indy отлично справляется. Предполагая, что вы отправляете запрос на https: url, а не на http: url, тот факт, что вы вообще видите «HTTP / 1.0 400 Bad Request», означает, что SSL / TLS работает нормально, поскольку и запрос, и ответ зашифрованы. «Плохой запрос» просто означает, что параметры вашего HTTP-запроса были неправильными.

Не видя фактических сообщений HTTP, я могу только догадываться, что, возможно, аутентификация OAuth была каким-то образом искажена.

person Remy Lebeau    schedule 14.02.2016
comment
Спасибо, Реми, за подробный ответ. После дальнейших поисков я обнаружил, что возвращаемый URL-адрес не был установлен должным образом (должен был быть тот же URL-адрес возврата, что и на первом этапе аутентификации OAuth). - person M Schenkel; 14.02.2016