/ / Cookie認証を使用してJavascriptを介してJSONデータを取得するにはどうすればよいですか? --javascript、ruby-on-rails、認証、Cookie、ラック

クッキー認証を使用してJavascript経由でJSONデータを取得する方法 - javascript、ruby-on-rails、認証、クッキー、ラック

Ruby on Railsを使用してアプリケーションを構築しています。このアプリケーションは、JSON呼び出しによってデータを取得するJavascriptアプリケーションです。 api 応用。また、アプリケーション自体とアプリケーションのクロスドメイン認証も提供します。 api.

同じシークレットセッションキーと同じ名前の両方のアプリケーションCookieを作成することで、クロスドメイン認証を処理します。 _app_an_api_session.

それでは、シナリオを書き留めて、失敗したときに表示します。

アプリケーションドメインは domain.local APIドメイン api.domain.local

それは言うことができます api.domain.local/me 保護されたページです。私がそれを開くとき、私は得ました unauthenticated

アプリケーションに移動して sign in そしてに行く api.domain.local/me 繰り返しますが、その中のデータを見ることができます。 [合格] [反対のアクションでも機能します]。

問題は、例えば、 sign in ロードしたい api.domain.local/me 内容[JSONデータ] domain.local、コンソールで次のことがわかります status(canceled).

加えて、デバッグのために。私は見ようとしました env への各リクエストの変数 api。だから、私がアクセスすると api.domain.local/me直接、コンソールでCookieハッシュを確認できます。それ以外の場合、実際のアプリケーション経由の場合は、Cookie /セッションはまったくありません。

それで、これを正しく行うことを可能にする方法は?

回答:

回答№1は1

Foursquareには、iFrameでこれを行う方法についてのすばらしい投稿がありました。

http://engineering.foursquare.com/2011/12/08/web-sites-are-clients-too/


回答№2の場合は0

あなたの問題は、異なるドメインとサブドメイン間の通信を妨げる同一生成元ポリシーです。これは、プロキシ、JSON-P、または 外部プロキシ.