Social_core.exceptions.MissingBackend: Missing backend "google-oauth2" entry in Django with Google OAuth2

I'm working on integrating Google OAuth2 in my Django REST Framework project using django-rest-framework and social-django. However, when I try to authenticate using the endpoint: GET /api/o/google-oauth2/?redirect_uri=http://localhost:3000/auth/google

I get the following error:

social_core.exceptions.MissingBackend: Missing backend "google-oauth2" entry

What could be causing the Missing backend "google-oauth2" entry error? Am I missing any configuration, or could there be an issue with the library versions? Any help or guidance would be appreciated.

Added the following to my settings.py:

AUTHENTICAION_BACKEN,DS =[
    'django.contrib.auth.backends.ModelBackend',
    'social_core.backends.google.GoogleOAuth2',
    'social_core.backends.facebook.FacebookOAuth2',
 ]
SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
    'openid',
    'https://www.googleapis.com/auth/userinfo.email',
    'https://www.googleapis.com/auth/userinfo.profile',
 ]

The redirect_uri (http://localhost:3000/auth/google) matches the one registered in the Google API Console.

It seems like the error you're encountering (MissingBackend "google-oauth2" entry) is typically caused by a misconfiguration or a typo in your settings. Here are a few things you can check to resolve the issue:

1. Typo in the AUTHENTICATION_BACKENDS Setting:

There’s a typo in the setting name you provided: AUTHENTICAION_BACKEN,DS. It should be AUTHENTICATION_BACKENDS. Double-check your settings.py to ensure that the correct setting is used.

Corrected setting:

AUTHENTICATION_BACKENDS = [
    'django.contrib.auth.backends.ModelBackend',
    'social_core.backends.google.GoogleOAuth2',
    'social_core.backends.facebook.FacebookOAuth2',
]

2. Check SOCIAL_AUTH_GOOGLE_OAUTH2_KEY and SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET:

Make sure that you have properly configured the Google OAuth2 client ID and secret in your settings.py as:

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'your-client-id.apps.googleusercontent.com'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'your-client-secret'

You need to replace 'your-client-id' and 'your-client-secret' with the actual values from your Google Developer Console.

3. Ensure social-auth-app-django Is Installed:

Ensure that you have installed the required package social-auth-app-django:

pip install social-auth-app-django

4. Check the INSTALLED_APPS:

Ensure that social_django is included in your INSTALLED_APPS:

INSTALLED_APPS = [
    # your other apps
    'social_django',
]

5. Check the Redirect URI:

Ensure that the redirect URI (http://localhost:3000/auth/google) is properly configured both in the Google API Console and your Django project. In some cases, the Google API might not accept a localhost redirect, so make sure it’s listed in the allowed redirect URIs in your Google Console.


Example of working settings.py:

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend', 
    'social_core.backends.google.GoogleOAuth2', 
    'social_core.backends.facebook.FacebookOAuth2',
)

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'your-client-id.apps.googleusercontent.com'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'your-client-secret'

SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
    'openid',
    'https://www.googleapis.com/auth/userinfo.email',
    'https://www.googleapis.com/auth/userinfo.profile',
]

INSTALLED_APPS = [
    # your other apps
    'social_django',
]

Once these changes are made, try again and see if the issue resolves. If you're still encountering problems, you might want to check if the version of social-auth-app-django and social-core are compatible with each other.

Let me know how it goes!

Back to Top