我有點迷失了信息的溢出,我需要一些關於我可以支持的最佳方式的指導,只向可信的客戶端提供API訪問。集中API提供程序 - oAuth或不?
當前環境:
我們目前有通過Apache四郎處理用戶身份驗證/授權中央服務器。
我們擁有與中央服務器進行內部通信以驗證和管理令牌的內部API。 (因此啓用SSO)。
我們的客戶端應用程序和API之間的通信通過SSL進行保護。
使用基於令牌的身份驗證。
目標:
我們的目標是讓第三方應用程序和API與我們的中央認證服務器通信。但我們主要擔心的是網絡釣魚,因爲我們只希望「有效」的各方與我們進行溝通,並且最好不允許在第三方身上暴露身份驗證信息。
問題:
1什麼是實現這種架構的最佳方法是什麼?我們應該繼續使用OAuth嗎?如果是的話,是否有一種很好的方式將其與Shiro整合?
2- OAuth會在移動應用程序上做好它的工作嗎? (例如限制對REST API的訪問,除非應用程序是可信的)
3-是否有可用於Java的OAuth提供程序庫,或者OAuth只是我必須實現的「標準」? (例如,實施RESTful API)
4- SSO是否輕鬆支持OAuth?
對不清楚的問題。我只需要一般的指導和建議。
2)我的問題是 - 爲什麼OAuth不能在移動設備上工作? :)我沒有看到任何理由,爲什麼它不應該在那裏工作.. – Dworza 2013-05-10 13:40:33
Shibboleth是一個選項?它看起來也與移動應用程序集成,並且具有比oAuth更一致的API。 [看到這個問題關於它](http://stackoverflow.com/questions/1935011/integrating-iphone-application-with-shibboleth) – David 2013-05-10 13:45:48
這是一個要求,您的用戶能夠授予/拒絕訪問他們的數據這些第三方應用程序? – Perception 2013-05-10 13:48:05