0

私のサイトから基本的な OAuth Facebook ログインを実現しようとしています。

ユーザーをリダイレクトする直前にセッション変数を設定し、ユーザーがサイトに戻ってきたら確認します。

Facebook にアクセスしてログインすると、戻ることができますが、いったんログインすると、セッション変数は存在しません。

私は絶対に困惑しています!次のコードを検討してください。

lock scope="session" type="exclusive" timeout="30" {
    session.source["state"] = createUUID();
}

// BUG?
// http://helpx.adobe.com/coldfusion/kb/missing-session-variables-using-cflocation.html
if ( isDefined("session.source.state") ) {

    location(url="https://www.facebook.com/dialog/oauth?client_id=#application.fbappid#&redirect_uri=#application.fbredirecturl#&state=#session.source["state"]#&scope=email,publish_actions", addtoken="true");

}

面白いことに... session.source["state"]URL が Facebook に渡されます...しかし、戻ると、それがなくなっているように見えます!

これは、いくつかの非常に奇妙な動作です。

Javascript によるリダイレクトはオプションではありません。サーバー側である必要があります。

誰でもこれについて手がかりを持っていますか?私はレイロを使っています。

ありがとう、マイキー。

4

2 に答える 2

0

面白いのは... session.source["state"]URL で Facebook に渡されることです。

これは、セッション変数では発生しないはずです。何か問題があるに違いありません。コードをトレースするか、さらにコードを投稿してください。

于 2013-07-29T16:52:28.610 に答える