错误#Unhandled securityError访问https://accounts.google.com

时间:2014-01-27 21:42:29

标签: actionscript-3 flash oauth-2.0 google-oauth

我正在尝试为AS3编写一个随处可用的(网络,空中,移动)OAuth库,该库足够灵活,可以与任何OAuth站点或OAuth附近一起使用。 我的示例应用程序我正在编写与Google进行身份验证,我想编写一个使用谷歌驱动器的应用程序。

目前Air和移动应用程序工作正常,但网络Flash播放器应用程序一直给我这个错误:

Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://localhost:81/OAuthWebExample.swf cannot load data from https://accounts.google.com/o/oauth2/token.

(在端口80上的非本地主机域上时出现相同的错误)

我查看了https://accounts.google.com/crossdomain.xml,其中包含:

<site-control permitted-cross-domain-policies="by-content-type" />

我不确定这意味着什么...

我很确定可以让flash与这些谷歌API交谈。我该怎么做才能让它发挥作用?

(我对使用feedburner或其类似代理这些调用的“工作回合”感兴趣,谢谢)。

2 个答案:

答案 0 :(得分:0)

  

我看过https://accounts.google.com/crossdomain.xml

这是主策略文件,它不会授予accounts.google.com域内容的权限(没有allow-access-from个节点),因此Flash播放器会触发securityError < / p>

  

我不确定这意味着什么...

It means

  

by-content-type:[仅限HTTP / HTTPS]仅提供的策略文件   Content-Type:允许使用text / x-cross-domain-policy

所以它似乎是为子域服务和子crossdomain.xml文件设计的,因此您无法直接从accounts.google.com加载数据。我发现Google OAuth对于Flash Google Oauth crossdomain.xml problem with Flex存在同样的问题,他们必须使用旧AuthSub(它使用accounts.googleapis.comcrossdomain.xml}来解决身份验证问题过去两年似乎没有任何改变。

答案 1 :(得分:0)

在编译,本地或外部检查Flash播放器的安全性。

AIR应用程序可以连接到外部和本地文件,但嵌入式swf不能这样做

https://www.adobe.com/security/flashplayer/articles/localcontent/