私のサイトから基本的な 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 によるリダイレクトはオプションではありません。サーバー側である必要があります。
誰でもこれについて手がかりを持っていますか?私はレイロを使っています。
ありがとう、マイキー。