Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to login using facebook in development environment using django social-auth?

I'm using social-auth with my django web app. When I go to /login/facebook in the production environment, the user is able to login using their facebook data. However in my development environment when I access

http://localhost:8000/login/facebook/, 

I get an error saying

An error occurred. Please try again later.

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.

I believe this is because the domain is localhost:8000. How do I fix this so I can login using facebook in my development environment?

like image 946
sharataka Avatar asked Nov 27 '12 02:11

sharataka


2 Answers

I had just seen an answer for it while reading the Heroku/Facebook documentation.

To do that, you must create a second app and link it to your localhost in order to test it locally.

You can find more info about it here: https://devcenter.heroku.com/articles/facebook#1-creating-a-development-facebook-app

like image 129
Robyflc Avatar answered Nov 04 '22 10:11

Robyflc


The easiest solution I found is to modify the hosts file to trick Facebook:

1/ Edit the hosts file

  • Open /etc/hosts
  • And add this line at the end: 127.0.0.1 dev.mydomain.com

2/ In the Facebook dev console (https://developers.facebook.com/apps/*********)

  • Select "Test apps" > "create a test app"
  • In "Settings" > "Basic" > Add the domain (dev.mydomain.com) into "App Domains" field.

Done!

cf: https://groups.google.com/forum/#!topic/django-social-auth/gB1D8ikgUwM

like image 21
Leo Avatar answered Nov 04 '22 10:11

Leo