我想构建以下项目:
- 任何经过身份验证的客户端都可以访问公共 REST API 后端。
- 前端带有 HTML/CSS/Javascript 中的静态文件,带有 Backbone.js 对 REST 后端的 jQuery 调用。
实际上,在我的架构中存在三方:前端,它是后端的客户端,后端和想要在前端登录页面上进行身份验证的用户。
保护此架构中涉及的三方的最佳方法是什么?
事实上,我相信如果我在 javascript 中做所有事情,就不可能在前端做一个安全的应用程序,所以我打算将身份验证/授权委托给我的服务器前端的代理层。
我的问题是我不知道如何使用 OAuth 执行此工作流程:
- 用户想在前端创建一个帐户。
- 前端将帐户创建委托给 REST 后端。
- 后端创建帐户并向前端发送确认。
- 然后用户可以执行需要授权的调用。
而且我还希望任何其他第三方应用程序都可以使用 OAuth 访问我的 REST 后端。
我是否必须在 REST 后端使用 2-legged 或 3-legged OAuth?
我可以将我的前端视为具有创建用户帐户能力的特殊第三方应用程序吗?
我可以在前端使用什么安全协议?