Uderzyłem głową w ścianę, próbując uruchomić django-social-auth. Mój serwer dev to serwer w sieci prywatnej w mojej pracy, do którego dostęp ma 10.0.0. * Adres IP. Na tym serwerze działa wiele aplikacji django. Oto konfiguracja, którą mam dla tej aplikacji:django-social-auth redirect_uri nieprawidłowy
# Perceptual
location /perceptual/static/ {
alias /opt/perceptual/perceptual/static/;
}
location /perceptual/ {
proxy_pass http://127.0.0.1:8001;
}
Używam aplikacji backbone.js z mojego katalogu statycznego. Mogę więc przejść do wersji 10.0.0.54/perceptual/static/ i pobrać moją aplikację szkieletową.
TERAZ, Mam mój APP_ID i FACEBOOK_API_SECRET Facebooka w moim pliku ustawień, wszystkie poprawnie skonfigurowane. Mam również linię w moim pliku/etc/hosts na moim rzeczywistej komputerze (nie serwer dev), który kieruje myapp.com do 10.0.0.54, a mój Facebook app config do adresu URL App Domains i strony wyglądać tak:
App Domains: perceptual.com
Site URL: http://perceptual.com
problem jest, gdy idę do perceptual.com/perceptual/static/login/facebook/ daje mi ten błąd:
Oto co mój URL wygląda, gdy Otrzymuję ten błąd: https://www.facebook.com/dialog/oauth?scope=email&state=PC0OhXnEuaW2wcUuINO0rMSMAtVDuMbn&redirect_uri=http%3A%2F%2F127.0.0.1%3A8001%2Fperceptual%2Fcomplete%2Ffacebook%2F%3Fredirect_state%3DPC0OhXnEuaW2wcUuINO0rMSMAtVDuMbn&client_id=419178148154217
Możesz więc zobaczyć na podstawie adresu URL mojego redirect_uri: http://localhost:8001
- Ale nie chcę, żeby tak było, oczywiście. Jak tylko go zmienić na perceptual.com, robi się trochę dalej: Potem dostaję ten błąd:
AuthFailed at /perceptual/complete/facebook/
Authentication failed: There was an error authenticating the app
Oto mój traceback, if it helps
W tym momencie utknąłem - Jak mogę dostać mój serwer, aby zmienić redirect_uri na coś, co obsługuje Facebook, zamiast 127.0.0.1:8000? Domyślam się, że pochodzi od Django, ale nie jestem pewien, jak to zmienić. Następnie, gdy zostanie to naprawione, nadal nie może w pełni uwierzytelnić się i otrzyma błąd opisany powyżej. Każda pomoc będzie bardzo ceniona. Dzięki wielkie!
Dziękuję, omab! Byłem w stanie ustawić tę konfigurację w moim pliku konfiguracyjnym nginx: 'proxy_set_header X-Forwarded-Host 'xxxxx.com';' iw moim pliku django settings.py: 'USE_X_FORWARDED_HOST = True' I to wszystko. pracujący. Dzięki jeszcze raz! –
@JamesRasmussen yep, 'USE_X_FORWARDED_HOST = True' było również tym, czego mi brakowało. Dzięki. –
również tutaj znajdują się ustawienia związane z sytuacją odwrotnego proxy: http://django-social-auth.readthedocs.org/en/latest/configuration.html#processing-redirects-and-urlopen –