如何使用远程服务器 (CAKEPHP) 验证桌面 FLEX/AIR 应用程序?
我有一个 Adobe AIR/FLEX 应用程序打包为在桌面上运行的本机安装程序应用程序。从那里,我需要执行以下操作: a) 留在“app:”应用程序沙箱中,以便我可以将“file://”JPG 加载到我的 mx:HTML 控件中 b) 通过我的服务器 (CAKEPHP) 进行身份验证以获得有效的 CAKEPHP 会话 Cookie,以及 c) 从 javascript 安全地获取/发布 XHR 请求。
我可以使用 OAUTH 或 Facebook Connect 等方式进行身份验证而不丢失应用程序沙箱吗?看来如果我从 mx:HTML 重定向,我就会失去本地权限。
我可以使用不同的沙箱(远程?)对我的服务器进行身份验证并将会话 Cookie 安全地传递到我的应用程序沙箱吗?
这些方法中的任何一种都可以安全地抵御脚本攻击吗?
I have an Adobe AIR/FLEX app packaged as a native installer application running on the desktop. From there, I need to do the following:
a) stay in the "app:" application sandbox so I can load "file://" JPGs into my mx:HTML control
b) authenticate with my server (CAKEPHP) to get a valid CAKEPHP Session Cookie, and
c) securely GET/POST XHR requests from javascript.
Can I authenticate using something like OAUTH or Facebook Connect without losing the application sandbox? It seems if I redirect from my mx:HTML, I lose my local privileges.
Can I authenticate with my server using a different sandbox (remote?) and safely pass the Session Cookie to my application sandbox?
Are either of these methods safe against scripting attacks?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道 Air/FLEX,但您当然可以毫无问题地将 OpenID / OAUTH / Facebook Connect 集成到蛋糕应用程序的注册/登录屏幕中,然后使用它来验证您的用户。
我不会重定向,而是使用 post/get 方法将登录数据发送到蛋糕应用程序(用户/登录),确保没有为 login() 渲染视图/布局并返回用户会话数据(json_encode $this- >身份验证->用户)。
如果您确保 login() 函数只能由应用程序访问,也许会发送唯一标识符,加密数据(通过 SSL 或只是将其序列化),那么它们就可以。此外,还对 XSS 进行了标准检查,延迟暴力破解的方法和 cake 实际上有一些很好的清理方法来处理注入(通常默认启用)。
I don't know Air/FLEX but certainly you can integrate OpenID / OAUTH / Facebook Connect into your cake application's registration / login screen with no problems, and then use it to authenticate your users.
I wouldn't redirect, rather use post/get methods to send login data to the cake application (users/login), ensure there's no views/layouts being rendered for login() and return the user session data (json_encode the $this->Auth->user).
They can be if you ensure the login() function is only reachable by the application, perhaps send a unique identifier, encrypt the data (via SSL or just serialize it). Also put in standard checks for XSS, methods to delay bruteforce and cake actually has some good sanitize methods for dealing with injectons (usually enabled by default).