CSP拒绝API Twitter

时间:2016-06-02 13:38:50

标签: api security twitter twitter-oauth

当我尝试进行身份验证时,其重定向网址的响应为400

  

api.twitter.com/oauth2/token?oauth_token=xxxxxxxxxxxxxxxxxxxxxx:1   得到   https://api.twitter.com/oauth2/token?oauth_token=xxxxxxxxxxxxxxxxxxxxxx   400()/ oauth2 / token?oauth_token = xxxxxxxxxxxxxxxxxxxxxx:1拒绝   应用内联样式,因为它违反了以下内容   安全政策指令:" style-src https://abs.twimg.com   https://abs-0.twimg.com&#34 ;. “不安全 - 内联”和“不安全”。关键字,哈希   (' sha256-4Su6mBWzEIFnH4pAGMOuaeBrstwJN4Z3pq / s1Kn4 / KQ ='),或者一个随机数   (' nonce -...')是启用内联执行所必需的。

在我的页面"连接twitter"有一个meta CSP:

<meta http-equiv="Content-Security-Policy" content="default-src *;
style-src 'self' http://* https://* 'unsafe-inline'; script-src 'self'
http://* 'unsafe-inline' 'unsafe-eval'; img-src * data:" />

出了什么问题?

1 个答案:

答案 0 :(得分:0)

他们抱怨Twitter的CSP指令,而不是你自己的。

您可以看到他们的指令here,它包含以下内容:

style-src https://abs.twimg.com https://abs-0.twimg.com

与错误消息直接匹配。

为什么Twitter显然阻止了我自己的api通话,我不知道。

顺便说一下,我认为你的语法是错误的,因为我们不认为https:// *是允许的,它应该是:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http: https: 'unsafe-inline'; script-src 'self' http: 'unsafe-inline' 'unsafe-eval'; img-src * data:" />