我正在編寫一個基於Web的應用程序,它將擁有自己的授權/身份驗證機制(基於傳統cookie /會話的用戶/通行證)。但是,根據該授權軟件的組織,我希望他們能夠在自己現有的內部認證系統堵塞,以此來代替我的。理想情況下,他們最終必須儘可能少運行代碼;我試圖讓這個主要託管服務。我意識到OAuth的存在,但並不完全瞭解如何在更高層次上實施該系統。任何提示將不勝感激。將我的應用程序與現有的身份驗證系統連接
0
A
回答
2
什麼平臺,你開發? PHP,Java,.NET或其他?
除了OAuth,您還應該查看SAML和OpenID。這些協議用於網站到網站的身份驗證,而OAuth則主要用於桌面/手機上的客戶端應用程序。它可以被使用,但這是人們傾向於使用它的原因。
一般來說,你被認爲是服務提供商。其他組織是身份提供者。在SAML中,您會將用戶重定向到身份驗證提供程序,該身份驗證提供程序將對用戶進行身份驗證(並可能授權)。他們會被重定向到服務提供商,然後這將能夠登錄他們。
見從我的another post的鏈接協議文檔的鏈接。谷歌企業應用套件也有單點登錄的good diagram與SAML在行動。
0
你的問題糾纏在你想解開的東西(authn/authz,即策略和應用程序)。你正在尋找的答案需要分開這些問題。
「標準」答案是分離authn/authz策略,通常使用PEP(策略執行點)來執行PDP(策略決策點)所做的決策。 SAML爲兩者之間的通信提供了標準。
您最終得到了PEP保護的您的應用程序(通常還有許多其他應用程序)。這可以被嵌入在應用程序(例如,作爲一個Tomcat攔截器)內,但更好的,在作爲代理的單獨容器中運行。從外面可以得到的唯一東西是PEP。這會檢查每個請求,確保用戶通過身份驗證,並且(對於SSO)確保每個請求都包含安全令牌。
如果不是,則PEP將該請求轉發給PDP進行認證(登錄屏幕)。 PDP附加安全令牌並將請求轉發回PEP。由於請求現在具有有效的令牌,因此PEP將其轉發給防火牆後的應用程序。
相關問題
- 1. ASP.NET Web應用程序的身份驗證系統?
- 2. 獨立Web應用程序的身份驗證系統要求
- 3. Android應用程序中的系統身份驗證
- 4. 使用表單身份驗證與遠程身份驗證系統?
- 5. 響應原生Salesforce「連接應用程序」的身份驗證體系結構
- 6. CodeIgniter身份驗證系統
- 7. 爲asp.net應用程序連接sql server(Windows身份驗證與SQL Server身份驗證)的最佳方式
- 8. 使用Coldfusion的身份驗證系統
- 9. 邏輯應用程序 - O365連接器 - 多重身份驗證
- 10. Python身份驗證系統的框架沒有身份驗證(如web.py)?
- 11. Disqus與我的身份驗證系統集成
- 12. OpenWrt的基本身份驗證系統
- 13. 安全的PHP身份驗證系統
- 14. LDAP連接與kerberos身份驗證池
- 15. Facebook登錄後使用我現有的登錄系統進行身份驗證?
- 16. ASP.NET身份驗證 - 一個用於多個應用程序的登錄系統
- 17. 使用twilio的電話身份驗證系統登錄系統
- 18. Azure Api應用程序與身份驗證和數據庫連接
- 19. Google應用程序域(身份驗證)
- 20. 谷歌應用程序身份驗證
- 21. 身份驗證facebook應用程序
- 22. 應用程序身份驗證密鑰
- 23. 應用程序身份驗證刷新
- 24. 谷歌身份驗證應用程序的雙向身份驗證
- 25. 使用MYSQL,WIN32程序可以驗證到Django身份驗證系統中嗎?
- 26. 身份驗證系統需要ssl嗎?
- 27. Windows身份驗證在本地系統
- 28. 身份驗證和授權系統
- 29. 如何驗證Worklight 5.0.5上的應用程序身份驗證
- 30. 我們怎麼可以有多個身份驗證系統
感謝您的回覆。模板是用PHP完成的,但大部分數據處理都是用Java完成的。我可能會使用PHP的身份驗證的東西。我希望有大多數主流語言的客戶端庫嗎? 我注意到你的其他帖子,並希望你會回覆:) 另外,我應該提到這是一個移動網絡應用程序,最終還需要支持本地應用程序。 – Karan 2010-04-07 23:18:45