我正在尝试从Facebook,Google +,Instagram等多种社交网络服务构建内容聚合器。这既可以查看也可以发布。我的用例就像
简单吧?我的问题是,我并不需要在服务器端“拉出”内容,而是在用户浏览时根据客户端的需求。执行此操作的标准方法是客户端(浏览器)调用我的服务器,然后将内容从使用api中提取并将其提供给客户端。这样,oauth令牌和凭证永远不会发送到客户端。
我首选的方法是让客户端直接调用apis(JSONP)并提取内容。但是,我必须将令牌和凭据传递回它们所在的浏览器。它们不存储在任何类型的客户端存储(html,本地存储,会话等)中,但是使用此机制,如果不可疑的用户在完成后未注销,则该漏洞存在于共享计算机和设备中,或智能用户查看浏览器历史记录并查找仍处于活动状态的访问令牌(+其他方式)。
另一种方法是使用客户端SDK,但问题是
并非我想要整合的所有服务都有javascript SDK
UI /外观不一致(可以管理)
可能会增加重新授权的频率(因为短期代币)
我将消费选择性内容,因此范围将受到限制,但我最大的担忧是我将寻求发布许可,如果凭据被盗,可用于发布/删除未经授权的内容。
是否有任何最佳实践,机制来保护(长期/离线)oauth凭据,同时仍然使用它们直接从浏览器进行api调用?