2011-06-25 24 views
1

我對應用程序中的憑證緩存存在疑問。我在網上搜索瞭解決這個問題的解決方案,但是我還沒有找到任何東西(這真的令人驚訝,因爲這是每個Facebook,Twitter和電子郵件客戶端應用程序必須處理的東西)。用於憑證緩存的常用解決方案?

我的問題是這樣的:

假設我建立了一個簡單的Twitter客戶端。我不想強迫用戶每次輸入密碼。大多數應用程序如何解決這個問題?在某些時候,客戶端需要進行API調用以進行身份​​驗證(其中包含密碼,通常以純文本形式)。但是,顯然,將密碼以純文本保存在某個不正確的解決方案中。那麼,大多數應用程序如何安全地執行此操作我想你可以將密碼緩存在文件或數據庫中,如果密碼是加密的,但是如何安全地存儲解密密鑰?還是在運行時使用來自客戶端機器的獨特信息作爲種子生成?

是否有任何資源(文章,書籍等)談論這個?大多數應用程序如何處理?

謝謝!

回答

0

單點登錄(SSO)設置通過提供集中的方法來生成,分發和驗證使用某種類型的會話ID的密鑰來實現您通常描述的內容。

見一個方法(通過StackExchange/StackOverflow使用):

http://openid.org/

這裏的東西我不知道:這種功能類別被稱爲Federated Identity。例如,我工作的我們的網絡系統(但不要求)Shibboleth。在這裏看到一個選項列表:

http://en.wikipedia.org/wiki/Category:Federated_identity

+0

,可以幫助我更好地理解這一點,但我仍然看不到全貌。如果沒有像OpenID這樣的第三方服務,如何實現這一點? – larsbutler

+0

看看OpenID和Shibboleth規格。它們其實不是關於「第三方服務」,而是如何將多個站點之間的憑證/認證服務結合在一起。 –