mei23 / misskey

めいすきー
GNU Affero General Public License v3.0
68 stars 12 forks source link

CORS合ってる? #4724

Closed mei23 closed 11 months ago

mei23 commented 11 months ago

💡 Summary

APIのCORS

Content-Type: application/jsonCORS-safelisted request-headerじゃない プリフライトリクエストが発生する Content-Typeって許可しなくていいのか?

mei23 commented 11 months ago

でも実際は、クライアントのプリフライトで許可要求はあくまでもContent-Type サーバー側はContent-Typeはデフォルト許可済みなので許可になるから問題ないっぽい。

Content-Typeかつapplication/jsonは、プリフライト要求 でもプリフライトでContent-Typeの値は感知しない仕様はもやるのだわ

mei23 commented 11 months ago

POST Content-Type: text/plain ↓ 単純リクエストに該当するので追加の確認不要→わかる

POST Content-Type: application/json ↓ 追加制約としてこれは単純リクエスト扱いされないので、事前にプリフライトリクエストで送信して安全か確かめる→わかる

プリフライトリクエストでは、Content-Typeでどの種類で送るか指定できない。

プリフライトリクエストを受け取ったサーバーでは、Content-Typeはデフォルト許可対象でそれ以上判断材料がないので常に許可される。

application/json周りの追加制約とプリフライトリクエストは何のための仕様?何の効果がある?ってなる