在Facebook应用程序画布中忽略重定向到内部URL

时间:2013-07-14 12:20:32

标签: facebook google-app-engine flask stunnel

我是facebook应用程序的新手,所以也许我忽略了一些非常简单的事情。 我正在开发这个关于烧瓶框架的GAE。

这就是我设置我的Facebook应用程序的方式。 (注意localhost上的https是通过stunnel设置的) enter image description here

一切似乎都没问题,直到我必须进行内部重定向到“登录”。

def index(show_friends=None):        
    if current_user.is_authenticated():        
        return redirect(url_for("show_records"))
    if 'fbapp' in request.args:        
        return redirect(url_for("login"))
    else:
        return render_template('index.html')

网址设置如下:

app.add_url_rule('/', 'index', view_func=views.index, methods=['GET', 'POST'])
app.add_url_rule('/login', view_func=views.login, methods=['GET', 'POST']) 

此操作失败并显示以下消息:

  

连接已重置
           在页面加载时重置了与服务器的连接。

看着服务器日志,似乎一起忽略了登录重定向。不知道为什么。

INFO     2013-07-14 12:15:39,026 dev_appserver.py:3105] "POST /?fbapp HTTP/1.1" 302

任何建议都将受到高度赞赏,

1 个答案:

答案 0 :(得分:0)

疯狂猜测......但问题可能会在登录页面发回一个X-Frame-Options标题但不允许浏览器在iframe中显示该页面的事实中继续。

如果登录页面最终成为appengine登录页面,那么......该页面返回X-Frame-Options标题,并且无法在iframe中加载。

如果这最终成为问题,通常的解决方案是将登录页面加载到一个单独的新窗口上,该窗口在成功登录后自动关闭。