2

クロスドメインAjax呼び出しを行うことは許可されていないことを理解していますが、Facebook(またはTwitterなど)のoauth APIに対してクロスドメインajax呼び出しを行うことができるのはなぜですか?

これは次のことと関係がありますか?

"Access-Control-Allow-Origin: *"

この悪い習慣のようにすべてのアクセスを許可していますか?あなたが許可した人だけを許可するより良い方法はありますか?

ありがとう!

4

1 に答える 1

2

Access-Control-Allow-Origin応答ヘッダーフィールドクロスオリジンリソースシェアリングの一部であり、リクエストの送信先のサーバーによって制御できる特定の条件下で、XHRとのクロスオリジンリクエストを許可します。

この特定のケースでAccess-Control-Allow-Origin: *は、サーバーが任意の発信元からのリクエストを許可することを意味します。これは基本的に、リソースが公開されており、資格情報をサポートしていないことを意味します。

ただし、アクセスを許可されたユーザーのみに制限したいので、を使用することはできません*Origin代わりに、ヘッダーフィールド値を返す必要があります(セクション6.1を参照)。クライアントがすでに資格情報を持っているが、まだリソースを要求していない場合は、クライアントが送信を許可されている情報をネゴシエートするプリフライト要求もサポートする必要があります。

于 2012-05-06T11:16:49.617 に答える