GoogleでOAuthのログインを持つシングルページアプリ(https://duggout.com)を持っています& Facebook。コールバックはOAuthコードでhttps://login.duggout.comになります。 URLにJWTトークンがあるhttps://duggout.comにリダイレクトされます。OmniAuth OAuth 2.0 Google Chromeでコールバックが2回発生
私はFacebook & Googleのコールバックに問題があります。コールバックは2回発生し、最初のコールバックはChromeでキャンセルされます。以下、同一の要求を参照してください:
を私も私のログからの要求の両方を見ることができます:
第一の要求:
I, [2017-07-29T09:43:32.911199 #8062] INFO -- : [1663579f-41ea-4257-ab94-d51595154004] Started GET "/auth/facebook/callback?code=<OAUTH_CODE>&state=<OAUTH_STATE>" for 220.244.205.75 at 2017-07-29 09:43:32 +0000
302 to duggout.com with successful token
第二要求(1秒後):
をI, [2017-07-29T09:43:33.548306 #8062] INFO -- : [908cd618-83c3-4c96-92b8-7496642a1903] Started GET "/auth/facebook/callback?code=<OAUTH_CODE>&state=<OAUTH_STATE>" for 220.244.205.75 at 2017-07-29 09:43:33 +0000
302 to failure URL
最初のリクエストは成功し、送信しますs 302をブラウザに送信する。しかし、ブラウザによってキャンセルされるため、そのレスポンスは使用されません。同じOAuthコードがすでに認証されているため、2番目のリクエストは無効になります。
私はこれを見つけましたが、この問題は同じだが3年前に話しているthreadです。
Google & Facebookまたは自分のアプリケーションコードでGoogle ChromeまたはOAuthの設定に問題があるかどうかわかりませんでした。 Firefoxでは完全に動作します。 Firefoxは2つのコールバックを行いません。