2011-07-18 80 views
11

我看的OAuth實現Twitter的建議在這裏:OAuth - 在您的應用程序中嵌入客戶端密鑰?

https://dev.twitter.com/docs/auth/oauth 

和OAuth庫,例如路標:

http://code.google.com/p/oauth-signpost/ 

他們既要講的OAuth的流程中使用客戶端機密,這意味着我的客戶端應用程序,我需要將祕密存儲在應用程序本身中。這可能是有風險的,因爲有人可以從我的應用程序中獲取祕密。有沒有任何方法在我的應用程序中存儲祕密?我誤解了oauth流程嗎?

感謝

回答

3

有沒有在本地或JavaScript應用程序存儲客戶端證書而沒有讓他們幾乎公開的方式。此外,將這些憑據放在代理服務器上,並讓客戶端與服務器通話(以便憑據不會公開)也不能解決任何問題。現在你有一個向代理驗證客戶端的問題。

正確的解決方案是對OAuth服務提供的本機應用程序提供特殊支持。 OAuth 2.0使用預先註冊的重定向URI和其他技術爲這些客戶端完成合理的客戶端身份驗證。

+2

你能詳細說明一下嗎?我草稿很快 - http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-9 - 這是否意味着本機應用程序不會在使用「客戶機密碼」時使用OAuth?你能描述一下所需的流程嗎? –

+3

本機應用程序不應該使用客戶端機密,因爲它沒有實際價值並且會產生虛假的安全感。 –

相關問題