2017-07-29 9 views
0

Ich habe eine einzelne Seite app (unter https://duggout.com), die OAuth-Anmeldung mit Google & Facebook hat. Der Rückruf wird mit OAuth-Code an https://login.duggout.com gesendet. Es leitet zu https://duggout.com mit JWT-Token in der URL um. Ich bekomme ein Problem mit dem Rückruf von Facebook & Google. Der Rückruf wird zweimal ausgelöst, wobei der erste Anruf von Chrome abgebrochen wird. Siehe die identischen Anfragen unter:OmniAuth OAuth 2.0 Callback wird zweimal in Google Chrome ausgelöst

omniauth oauth callback twice

ich sehen kann sowohl die Anfragen von meinem Logs auch:

1.e Anfrage:

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 

zweite Anfrage (1 Sekunde später):

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 

Die erste Anfrage ist erfolgreich und senden s 302 an den Browser. Da sie jedoch vom Browser abgebrochen wird, wird diese Antwort nicht verwendet. Die zweite Anforderung wird ungültig, da derselbe OAuth-Code bereits authentifiziert wurde.

Ich fand diese thread, die über das gleiche Problem aber vor 3 Jahren spricht.

Ich konnte nicht herausfinden, ob dies ein Problem mit Google Chrome oder OAuth-Konfiguration in Google & Facebook oder mit meinem Anwendungscode ist. Es funktioniert perfekt in Firefox. Firefox macht keine zwei Rückrufe.

Antwort

0

Ich habe gerade herausgefunden, dass dies zu einem Chrome-Plugin verwandt wird: Hola Proxy. Nach dem Entfernen des Plugins wird die erste Rückrufanfrage nicht mehr abgebrochen. Dank dieser SO answer.

Verwandte Themen