我正在为我正在开发的项目构建一个RESTful API,我想让主应用程序使用API,因为:
API将托管在子域中https://api.example.com,主Web应用程序将托管在根域中https://example.com.
从概念上讲,我理解一切是如何工作的,但我的主要问题是如果认证流程将会发生变化.通常第三方应用程序将:
https://api.example.com/request_tokenhttps://api.authenticate.com/authorizehttps://api.example.com/access_token由于我控制两个域,我可以做类似的事情:
https://www.example.comhttps://www.example.com调用相同代码的表单进行身份验证https://api.example.com/authorize第3步感觉它是错的,因为会有重复的代码,但是它不会打开我的XSS攻击是https://www.example.com发送数据的登录表单,https://api.example.com因为它们在技术上是不同的域?
我是不是太复杂了?
我很难清楚地写出我的问题,所以让我描述一下我在做什么.
我正在构建一个Web应用程序:
(https://api.example.com)(https://www.example.com)我在TLD的路线(我们称之为/ajax对这个问题)的调用JavaScript( ,,GET ,OR )提出要求的API.这样,没有人必须看到访问令牌,访问令牌秘密,消费者密钥或消费者秘密.PUTPOSTDELETE
我看到它的方式,访问令牌和访问令牌秘密实际上是我需要存储在会话中的唯一东西,因为我可以使用API获取其他所有内容,但不是每次都为每一条数据拨打电话我需要,我认为有些事情应该坚持下去,比如用户的个人资料,布局偏好等方面.
完成此任务的最佳方式是什么?本地存储?饼干?我应该废弃它并将其存储在会话中吗?
如果你有一些时间,还有什么其他最好的做法可以建立我可能不知道的这样的网站?