显示OAuth访问令牌是否安全?

时间:2015-10-21 00:40:47

标签: facebook security facebook-graph-api oauth

我的OAuth 2.0应用已经获得了显示访问令牌的安全问题吗?也许不一定显示,但甚至可以回应一个网站的源代码,它本质上可以找到"由用户。假设一切都是HTTPS。

示例:我有一个网站,我希望允许人们使用Facebook登录。登录后,我从身份提供商或Facebook PHP SDK获取FB API访问令牌。此令牌与刚刚登录的用户绑定。我想通过显示他们的个人资料图片让用户感到宾至如归,是否可以安全地呈现类似于以下内容的HTML?

<img src='https://graph.facebook.com/me/picture?access_token=USERS_ACCESS_TOKEN'>

编辑: 我知道还有其他显示个人资料图片的选项,我不一定要求更好的方法来做到这一点。我对这些访问令牌需要采取的安全性更感兴趣。我所看到的大多数资源似乎都没有提及它。

3 个答案:

答案 0 :(得分:1)

访问令牌应该具有与之关联的最小权限集,即刚好足以实际显示用户图片。在那种情况下,没有增加的风险。 XSS攻击,因为在攻击者设法窃取会话cookie和/或令牌的情况下,每个显示图片的解决方案都会涉及相同的风险。

只有当访问令牌具有与之关联的其他权限但未被用作前端的一部分时,从安全角度来看,将其作为前端提供是不太优选的。

答案 1 :(得分:0)

好吧,如果OAuth令牌与用户会话绑定,那么攻击者就没有什么比窃取用户cookie更简单的了(例如通过XSS)并将其与访问令牌一起使用以代表他的FB做出一些操作他的帐户中的帐户。我会说安全相关的经验法则只是披露你真正拥有的信息,而不是其他任何东西。

答案 2 :(得分:-1)

啊,我看到你在做什么。而不是oauth令牌执行此操作:template< typename T > class shared_ptr { T *ptr; public: T* get() const { return ptr; } }; 和ta-da