2013-03-08 191 views
1

更新:我之前沒有提及我們希望解決方案能夠靈活地從我們的數據庫中驗證用戶身份,或者要求其他服務器告訴我們用戶是否已通過身份驗證。還值得一提的是,這些其他服務器不在我們的控制之下,所以我們無法實施特定的用戶模型。客戶端 - 服務器用戶認證

我對OAuth和OpenID進行了長時間的艱苦閱讀,但它們都不適合我們的情況,並且會使得用戶的過程變得更加困難。這已經解決了一千次,但我找不到解決方案。

我們正在尋找的是一個框架,可用於REST服務服務器以用戶名和密碼對用戶進行身份驗證(不涉及任何第三方客戶端)。 除了首次登錄時,解決方案不得傳遞用戶名和密碼,並使用令牌進行進一步身份驗證。儘管OAuth確實使用了令牌,但它旨在允許第三方客戶端訪問服務提供商資源。情況並非如此,這些服務僅適用於我們自己的應用程序,唯一需要的是用戶身份驗證。

你們認爲什麼是最合適的解決方案?

配置:
提供基於REST的服務與我們的思維傾向於使用Spring Security的一些用戶管理和令牌管理框架去-Spring服務器。
-iOS將對服務器進行HTTPS調用的設備。

我們最終想要的是讓設備發送登錄請求,並在登錄成功後使用該令牌發出請求時收到令牌。就像Facebook一樣,不包括第三方參與。

是否有東西可以在我們的服務器中進行配置?還是應該考慮構建我們自己的令牌管理,比較和生成軟件? 在iOS應用程序中使用Spring-Security而不涉及存儲cookie或重定向到可能的頁面?

回答

0

OpenStack提供了許多與開源雲相關的項目......項目Keystone。這幾乎完全符合你的要求。

你可能想看看這裏:

http://docs.openstack.org/developer/keystone/

+0

非常感謝。我仍在閱讀它。我們是否必須爲我們的用戶使用OpenStack Identity?或者我們可以使用我們自己的用戶名/密碼比較過程,並使用Keystone進行令牌/會話管理? – hishamaus 2013-03-08 03:44:39

+0

Keystone可以綁定到ldap或返回到PAM atm。沒什麼別的。綁定到Active Directory中有一些模塊工作,但不受基金會積極支持。 – 2013-03-08 04:24:20