私はRESTfulなAPIを提供するnode.js expressアプリを持っています。私はFacebook認証にパスポートを使用しています。私はサーバー側でCORSのすべての構成を有効にし、jQuery Ajaxを介してAPIを使用することができました。 Facebook認証の場合、次のエラーが表示されます。"これはパスポートのfacebookログインでプリフライト"エラーが必要なクロスオリジン要求では許可されていませんか?
XMLHttpRequest cannot load http://localhost:3000/auth/facebook. The request was redirected to 'https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=http%…_me%2Cuser_checkins%2Cuser_likes&client_id=12345678&type=web_server', which is disallowed for cross-origin requests that require preflight.
/auth/facebookエンドポイントはこちらです。
app.get('/auth/facebook',
passport.authenticate('facebook', {
scope: ['email', 'user_about_me', 'user_checkins', 'user_likes'],
failureRedirect: users.authFailCallback
}), users.signin);
したがって、CORSを許可しないFacebookのAPI(302)にリダイレクトされます。 これを解決する方法はありますか?あるいは、サーバー側からFacebook APIを呼び出す必要がありますか?
頭字語はCORS(クロスオリジンリソース共有) – Akrikos
です。編集されました。ありがとう –