2010-09-01 65 views
3

如何在FLOSS應用程序中使用oauth,我們無法保留密鑰?如果其他人看到祕密和密鑰,他不能使用它來使用用戶帳戶,就好像他在哪裏我一樣?如何在FLOSS應用程序中使用oauth,我們無法保存密鑰?

+0

你是什麼意思,「不能保密鑰匙」? 「沒有可靠的地方來存儲它」?你在談論哪個「其他」? – Piskvor 2010-09-01 12:15:06

+0

@piskvor:如果它是開源的,它如何隱藏密鑰?你可以像應用程序一樣檢索它。 「其他」是指未經授權的第三方。 有人可以拿起應用程序密鑰,並用它來模擬應用程序並獲取用戶的數據? – 2010-09-01 12:19:30

+0

「開源」是一種授權方式,意思是「如果您進一步__distributing__該程序,您必須將源代碼傳遞給收件人」而不是「如果您正在使用該程序,則必須允許任何人查看您的源代碼,因爲它在你的服務器上「。只要你不分發它,你就不必向任何人提供/顯示源代碼。 – Piskvor 2010-09-01 12:23:37

回答

5

我在自己的開源Twitter應用程序中處理了這個問題。

您不要使用您的源代碼分發ConsumerKey或ConsumerKeySecret。一個合理的方法是創建兩個常量/全局變量(或其他)來保存這些值,並且這些值在您發佈的源代碼中爲EMPTY。包含一些向其他開發人員解釋如何獲取自己的密鑰以及如何修改源以安裝它們的文檔。

如果您正在分發已編譯的二進制文件,則可以使用ConsumerKey和ConsumerKeySecret值進行編譯,以便應用程序運行。

沒有完美的安全方式來處理這個問題;這是OAuth的本質。但是,你可以 - 合理 - 安全的,這就是這種方法實現的。

相關問題