AuthFailed with django-social-auth & Facebook authentication

I use django-social-auth for authentication on the server side of Facebook, and I get this error that I could not track: AuthFailed ("An error occurred while authenticating the application").

I am NOT getting this error when I test locally, and I have a Facebook app website URL pointing to localhost.

However, I get this error every time I point the URL of the Facebook application site to my dev instance - for example, https://dev.mydomain.com .

I was unable to find a list of things that could lead to an AuthFailed error ("Error checking application" error).

Also, I was not able to find others who successfully used django-social-auth and have already solved this problem.

I found useful information on the following: https://github.com/omab/django-social-auth/blob/master/doc/configuration.rst
http://django-social-auth.readthedocs.org/en/latest/
https://developers.facebook.com/docs/technical-guides/login/ https://developers.facebook.com/docs/howtos/login/server-side-login/

Finally, I want to do a server side check because I want to get the username, email address and photo. However, if this can be done using client-side authentication, I think I could try this.

Code below ...

in settings.py:

LOGIN_URL = '/account/login/' LOGIN_REDIRECT_URL = '/' LOGIN_ERROR_URL = '/account/login/' # added when trying to debug Facebook error AUTHENTICATION_BACKENDS = ( 'social_auth.backends.facebook.FacebookBackend', 'django.contrib.auth.backends.ModelBackend', ) FACEBOOK_APP_ID = 'xxx' FACEBOOK_API_SECRET = 'xxxxxx' FACEBOOK_EXTENDED_PERMISSIONS = ['email'] SOCIAL_AUTH_CREATE_USERS = True SOCIAL_AUTH_FORCE_RANDOM_USERNAME = False SOCIAL_AUTH_DEFAULT_USERNAME = 'socialauth_user' SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete' SOCIAL_AUTH_ERROR_KEY = 'socialauth_error' SOCIAL_AUTH_REDIRECT_IS_HTTPS = True # force https in dev and production # is SOCIAL_AUTH_LOGIN_REDIRECT_URL or SOCIAL_AUTH_BACKEND_ERROR_URL needed??? SOCIAL_AUTH_PIPELINE = ( 'social_auth.backends.pipeline.social.social_auth_user', 'social_auth.backends.pipeline.associate.associate_by_email', 'social_auth.backends.pipeline.misc.save_status_to_session', 'apps.dsa_pipeline.redirect_to_form', 'apps.dsa_pipeline.username', 'apps.dsa_pipeline.phone', 'social_auth.backends.pipeline.user.create_user', 'social_auth.backends.pipeline.social.associate_user', 'social_auth.backends.pipeline.social.load_extra_data', 'social_auth.backends.pipeline.user.update_user_details', 'apps.dsa_pipeline.profile', ) 

in dsa_pipeline.py:

 from django.http import HttpResponseRedirect from urllib2 import urlopen def redirect_to_form(*args, **kwargs): if not kwargs['request'].session.get('saved_username') and kwargs.get('user') is None: return HttpResponseRedirect('/account/signup_dsa/') def username(request, *args, **kwargs): if kwargs.get('user'): username = kwargs['user'].username else: username = request.session.get('saved_username') return {'username': username} def phone(request, *args, **kwargs): if kwargs.get('phone'): phone = kwargs['phone'].phone else: phone = request.session.get('saved_phone') return {'phone': phone} def profile(backend, details, response, social_user, uid, user, *args, **kwargs): profile = user.profile if not profile.phone: ph = kwargs.get('phone') if ph: profile.phone = ph profile.save() 

in urls.py:

 urlpatterns = patterns("", url(r"^$", direct_to_template, {"template": "homepage.html"}, name="home"), url(r"^admin/", include(admin.site.urls)), # profiles url(r'^', include("apps.profiles.urls")), url(r"^account/signup/$", SignupView.as_view(), name="account_signup"), url(r"^account/signup_dsa/$", SignupViewDSA.as_view(), name="account_signup_dsa"), url(r"^account/", include("account.urls")), # Django Social Auth url(r'', include('social_auth.urls')), 

Thanks for any help!

+4
source share
1 answer

This AuthFailed error AuthFailed raised here , I would check the values ​​for the used client_id , redirect_uri and client_secret few lines above and compare with your application configuration on Facebook.

0
source

Source: https://habr.com/ru/post/1443268/


All Articles