angle2アプリをrails apiに接続しようとしています。CORSのクッキーはgetリクエストで動作しますが、Angular2のポストでは動作しません。
レール認証を使用するには、2つのドメイン間でCookieを共有したいと考えています。私の角型アプリケーションでhttp GETを呼び出すと、設定されたクッキーフィールドを持つ応答が返され、次のGET要求を送信するとクッキーが送信されます。しかし、私は2番目のGETをPOSTで置き換えると、そうではありません。両方の呼び出しでwithCredentials = trueを使用しています。私はポストに置き換えるしかし
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:sv-SE,sv;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Cookie:request_method=GET; _commandsapp_session=SlRJdHdPQ3dadG94RDFWYmIxVWNnZnZUMzRwSU5pMjhoQ1NWV1loN2lNWUdIMTFrNmZyV2dJcWV4RHZON0p6WTJRcVRNSU8zM3BXV0dIWnJ4QXpYaEdSYUVLR1cvT3N6Wm1XNWxUVDJ6c3ltbll1dk9OSFdJdDZIdW5SM25BYTdOSGtwelhGU0NDRG1WZXQwSzlHZCt3PT0tLWwrc1BrWVA5Tk84ZEU4VE8zcUQ4L0E9PQ%3D%3D--f201c0d6e0fe67de323a10fb521614d165a50964
Host:0.0.0.0:3000
Origin:http://127.0.0.1:4200
Referer:http://127.0.0.1:4200/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36
および追加:
let options : RequestOptionsArgs = {};
options.withCredentials = true;
this.http.get(this.baseUrl + 'sessions/login_attempt' ,options)
.toPromise();
私はクッキーが一緒に送信されているクロムのdevのツールでリクエストヘッダを見ることができます:私は、次の呼び出し
私はクロムがクッキーを送っているのを見ることができません。クロームのdevのツールで
let options : RequestOptionsArgs = {};
options.withCredentials = true;
this.http.post(this.baseUrl + 'sessions/login_attempt', {'username_or_email': 'admin', 'login_password':'password'} ,options)
.toPromise();
リクエストヘッダ:
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:sv-SE,sv;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:0.0.0.0:3000
Origin:http://127.0.0.1:4200
Referer:http://127.0.0.1:4200/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36