J'ai été cogner la tête contre le mur en essayant d'obtenir travail-auth django-sociale. Mon serveur dev est un serveur dans un réseau privé à mon travail, accessible par une adresse IP 10.0.0. *. Nous avons plusieurs applications django en cours d'exécution sur ce serveur. Voici la config que j'ai pour cette application:django-auth-sociale redirect_uri invalide
# Perceptual
location /perceptual/static/ {
alias /opt/perceptual/perceptual/static/;
}
location /perceptual/ {
proxy_pass http://127.0.0.1:8001;
}
Je suis en cours d'exécution d'une application Backbone.js de mon répertoire statique avec cela. Donc, je peux aller à 10.0.0.54/perceptual/static/, et obtenir mon application backbone.
Maintenant, J'ai mon Facebook APP_ID et FACEBOOK_API_SECRET dans mon fichier de paramètres, tous correctement configurés. J'ai également une ligne dans mon fichier/etc/hosts sur mon réelle machine (pas le serveur de dev) qui dirige myapp.com à 10.0.0.54, et mon application Facebook config pour l'App Domains et l'URL du site ressembler à ceci:
App Domains: perceptual.com
Site URL: http://perceptual.com
Le problème est, chaque fois que je vais me donne perceptual.com/perceptual/static/login/facebook/ cette erreur:
Voici ce que mon URL ressemble quand Je reçois cette erreur: 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
Ainsi, vous pouvez voir à partir de l'URL que mon redirect_uri est http://localhost:8001
- Mais je ne veux pas que ce soit que, de toute évidence. Dès que je change à perceptual.com, il devient un peu plus loin: Puis-je obtenir cette erreur: je suis coincé
AuthFailed at /perceptual/complete/facebook/
Authentication failed: There was an error authenticating the app
Voici mon traceback, if it helps
À ce stade, - Comment puis-je mon serveur pour changer le redirect_uri à quelque chose que Facebook peut gérer, au lieu de 127.0.0.1:8000? Je suppose que ça vient de Django, mais je ne sais pas comment le changer. Ensuite, une fois que c'est corrigé, il ne peut toujours pas s'authentifier complètement et obtient l'erreur indiquée ci-dessus. Toute aide serait grandement appréciée. Merci beaucoup!
Merci, omab! J'ai pu définir cette config dans mon fichier de configuration nginx: 'proxy_set_header X-Forwarded-hôte 'xxxxx.com', fichier' et dans mon django settings.py: 'USE_X_FORWARDED_HOST = TRUE' Et qui a obtenu tout ce qu'il travail. Merci encore! –
@JamesRasmussen yep, 'USE_X_FORWARDED_HOST = True' était le morceau qui me manquait aussi. Merci. –
également ici sont les paramètres liés à inverser la situation proxy: http://django-social-auth.readthedocs.org/en/latest/configuration.html#processing-redirects-and-urlopen –