我正在爲一組REST風格的Web應用程序的用戶使用內部認證系統。我們的意圖是,用戶應該能夠通過Web表單登錄一次,並且可以適當地訪問我們域中的所有這些RESTful應用程序,這些應用程序可能分佈在許多服務器上的私有云中。 (我明白已經有一個單一的認證會話不符合純粹的REST風格的方法,但這是一個可用性要求。)如何使用OpenID或OAuth進行內部第一方認證?
應用程序本身將用各種編程語言編寫,所以語言中立的方法是需要。據我所知,我們可能會使用OpenID或OAuth或類似的框架來處理身份驗證,但我的理解是,這些服務旨在用於第三方服務,而不是用於在我們的內部系統上共享數據的第一方服務。在這種情況下,我們可能會將所有其他應用程序視爲第三方(或依賴方)的中央提供商服務。
問題:
- 是否適合認證中的第一方服務的OpenID/OAuth的?
- 如果是這樣,建議如何爲此用例設置身份驗證?
- 用戶是否必須授予他們想要使用的每個第一方服務器的個人權限,就像他們需要向任何第三方服務器授予個人權限一樣?我認爲這會違反訪問所有第一方服務的單點登錄要求。
- 有支持這個第一方用例的站點的好例子嗎?
- 對於這個第一方用例,什麼是一個好的替代框架?
感謝您的確認。很高興知道我沒有在OAuth或其他第三方框架中遺漏明顯的東西。 – Richard 2013-05-13 14:24:38