2016-02-13 94 views
0

我正在嘗試MailChimp的OAuth2實現。使用Indy實現OAuth2規範的V10

their API documentation他們的狀態

我們的服務器實現的OAuth2規格的V10,並且支持 Web服務器流量。

對於過去的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); 

當我嘗試進行OAuth調用時,出現「HTTP/1.0 400錯誤請求」錯誤。不知道這是否是錯誤的參數,或者我沒有發送正確的SSL版本。他們不提供很多文檔/故障排除。

回答

4

Indy根本不支持OAuth,更不用說OAuth2的v10了。不過,有幾個使用Indy的第三方OAuth實現可用。

這就是說,與服務器的通信只是普通的HTTPS,Indy處理得很好。假設你發送的請求是一個https:的url,而不是一個http:的url,事實上你看到「HTTP/1.0 400 Bad Request」意味着SSL/TLS工作正常,因爲請求和響應都是加密的。 「錯誤請求」僅表示您的HTTP請求參數錯誤。

沒有看到實際的HTTP消息,我只能猜測OAuth身份驗證可能在某種程度上是畸形的。

+0

謝謝雷米的詳細回覆。在進一步挖掘之後,我發現返回url沒有正確設置(必須與OAuth身份驗證的第一階段相同)。 –