2

私は Facebook アプリケーションを初めて使用するので、非常に単純なものを見落としている可能性があります。私はフラスコフレームワークのGAEでこれを開発しています。

これが私のFacebookアプリのセットアップ方法です。(ローカルホストの https は stunnel を介して設定されていることに注意してください) ここに画像の説明を入力

「ログイン」への内部リダイレクトを行う必要があるまでは、すべて問題ないようです。

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')

URL は次のように設定されます。

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

どんな提案でも大歓迎です、

4

1 に答える 1

0

X-Frame-Optionsワイルドな推測...しかし、問題は、ブラウザがiframe内にページを表示することを許可しないヘッダーをログインページが送り返すという事実に関係している可能性があります。

ログイン ページが appengine ログイン ページになってしまった場合、そのページヘッダーを返しX-Frame-Options、iframe 内に読み込むことができません。

これが問題になる場合、通常の解決策は、ログイン ページを別の新しいウィンドウにロードし、ログインが成功すると自動的に閉じられるようにすることです。

于 2013-07-15T02:07:39.810 に答える