我試圖找出如何實現以下認證流程:在谷歌應用程序保護的RESTful API引擎
- 用戶訪問一個Web應用程序(最有可能使用Ruby on Rails的寫入),並驗證(例如,用戶名/密碼)。
- 客戶端通過基於Google App Engine(Python,webapp2)構建的RESTful API提供的AJAX消費數據。
要求:
- 在Web應用程序(Rails)的身份驗證的用戶才應該能夠訪問託管在App Engine上的API。
- 用戶可以在Web應用程序(Rails)中擁有不同的角色,並且API(App Engine)需要知道哪些角色與給定用戶關聯以限制對某些數據的訪問。
- 客戶端應該能夠通過AJAX直接調用API(App Engine),而無需通過Web應用程序(Rails)路由所有請求。
我在尋找關於如何實現這樣的工作流程的建議。我應該使用OAuth(或OAuth2)來訪問API嗎? OAuth提供者是否應在App Engine上運行,並且Web應用程序(Rails)代表用戶向API請求令牌?如果是這樣,那麼只允許Web應用程序(Rails)請求OAuth令牌的最佳方法是什麼?或者我應該考慮一個完全不同的策略?
任何建議,非常感謝。我還在上面的上下文中尋找圖書館實施OAuth的建議。