fineuploaderサブドメイン間アップロードファイルクッキーの紛失問題の解決


現在のプロジェクトではfineuploaderという純html 5アップロードコンポーネントを用いる、開発過程でアップロードサービスを特定のサブドメインの下に単独で配置する.ログインクッキーが設定したdomainはルートドメインの下でバックエンドコードでユーザログイン検出を行い、常に302から未ログインページにリダイレクトされていることが判明し、チェックしたところajax xhrリクエストにクッキーが付いていないことが判明した
 
ネットでたぶん検索してみましたが、
と書く
オリジナルajaxリクエスト方式:
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://xxxx.com/demo/b/index.php", true);
xhr.withCredentials = true;//ドメイン間でのcookiesの送信をサポート
xhr.send();
jqueryのajaxのpostメソッドリクエスト:
$.ajax({
type: "POST",
url: "http://xxx.com/api/test",
dataType: 'jsonp',
xhrFields: {
withCredentials: true
},
crossDomain: true,
success:function(){
},
error:function(){
}
})
サーバ側の設定:
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://www.xxx.com");
 
バックエンドは対応する調整を行い、フロントエンドはfineuploaderに関連しているため、そのコードの中で簡単に下のキーワードwithCredentialsを検索し、それから公式に下のドキュメントを見て、corsの構成がありますhttp://docs.fineuploader.com/api/options.html#cors
 
コンフィギュレーションラインに次のコンフィギュレーションを追加すればOKです
cors: {
                allowXdr: true,//            
                expected: true,
                sendCredentials: true
            }

 
修正後、問題が解決する. 
 
同じ問題に遭遇した人が参考にしてほしい.