LoginSignup
3
2

More than 5 years have passed since last update.

同じドメインからのリクエストのはずなのにクロスドメイン制約でブロックされた話

Last updated at Posted at 2017-11-27

結構アホくさい感じですが, 小時間ハマったので.

前提

GAE でちょっとしたビューアー作成中に, FetchAPI を使って同ドメインの GAE サーバーからデータを引っ張ろうと API リクエストを送りました.

fetch('/api/get_user_data', {
    method: 'GET',
}).then((response) => {
    // Do HogeHoge
});

結果,
クロスオリジン要求をブロックしました ~~ (By FireFox の開発コンソール)
と出ました.
ドメインは同じはずなのになんでかなーと GCP ロギングを見ると,
302 /api/get_user_data
とリダイレクトされていました.
さらにリダイレクトしている部分を見ると,
https://www.google.com/accounts/ServiceLogin?service=ah&passive=
経由となっています.
なるほど確かに app.yaml で /api 下は login: required 設定なのでログインしているか確認しているのはうなずけます. ただ, API リクエストはログイン後なんだけどなあ, と迷っていたら...

Cookie送ってないなこれは

ということで

fetch('/api/get_user_data', {
    method: 'GET',
    credentials: "same-origin",
}).then((response) => {
    // Do HogeHoge
});

と直して通るようになりました.

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2