我正在尝试为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或其类似代理这些调用的“工作回合”感兴趣,谢谢)。
答案 0 :(得分:0)
这是主策略文件,它不会授予accounts.google.com
域内容的权限(没有allow-access-from个节点),因此Flash播放器会触发securityError
< / p>
我不确定这意味着什么...
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.com
和crossdomain.xml}来解决身份验证问题过去两年似乎没有任何改变。
答案 1 :(得分:0)
在编译,本地或外部检查Flash播放器的安全性。
AIR应用程序可以连接到外部和本地文件,但嵌入式swf不能这样做
https://www.adobe.com/security/flashplayer/articles/localcontent/