我试图找出如何实现以下认证流程:在谷歌应用程序保护的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的建议。