es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error Not Found después de iniciar sesión con Google usando django-allauth.

Estoy utilizando el paquete django-allauth y el proveedor de Google para la autenticación en mi proyecto de Django. Todo funcionaba bien en desarrollo, sin embargo, cuando lancé mi proyecto en el servidor, obtuve un error. Cuando presiono el botón “Iniciar sesión con Google” en mi página de inicio de sesión, soy redirigido a la página donde Google me pide que elija mi cuenta de Google para continuar.

Luego de este paso, cuando soy redirigido a mi sitio, me encuentro con un error de “No encontrado”.

He intentado varias cosas que encontré en línea, pero no funcionaron.

Aquí están mis URI de redireccionamiento autorizadas de Google credentials.

En mi archivo settings.py, configuré allauth de la siguiente manera:

# Configuraciones de Django-allauth

AUTH_USER_MODEL = 'accounts.User'

AUTHENTICATION_BACKENDS = [
    # Necesario para iniciar sesión por nombre de usuario en el administrador de Django, independientemente de `allauth`
    'django.contrib.auth.backends.ModelBackend',
    # Métodos de autenticación específicos de `allauth`, como iniciar sesión por correo electrónico
    'allauth.account.auth_backends.AuthenticationBackend',
]

SITE_ID = 1

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_AUTHENTICATION_METHOD = "email"
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_USER_MODEL_USERNAME_FIELD = None

ACCOUNT_SIGNUP_REDIRECT_URL = 'accounts:create_profile_url'

ACCOUNT_EMAIL_VERIFICATION = 'none'

LOGIN_REDIRECT_URL = 'dashboard_url'

ACCOUNT_FORMS = {
    'login': 'accounts.forms.CustomLoginForm',
    'signup': 'accounts.forms.CustomSignupForm',
    'change_password': 'accounts.forms.CustomChangePasswordForm',
}

ACCOUNT_DEFAULT_HTTP_PROTOCOL='https'

y también he agregado ‘allauth.urls’ en mis urlpatterns:

urlpatterns = [
    ...
    path('accounts/', include('allauth.urls')),
    ...
]

Realmente necesitaría algo de ayuda. Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El error que estás enfrentando al intentar autenticarte con el proveedor de Google en tu proyecto Django utilizando el paquete django-allauth es un error de “No Encontrado”, lo cual significa que la página o recurso solicitado no se pudo encontrar en el servidor.

    Basándonos en la información y configuraciones que proporcionaste, el problema podría estar en las URI de redireccionamiento autorizadas en tus credenciales de Google. Asegúrate de que las URI de redireccionamiento autorizadas en la Consola de Desarrollador de Google coincidan con las URI de redireccionamiento utilizadas en la configuración de tu proyecto Django, especialmente los valores LOGIN_REDIRECT_URL y ACCOUNT_SIGNUP_REDIRECT_URL. Si las URI de redireccionamiento autorizadas no coinciden, Google no redireccionará al usuario de vuelta a tu proyecto después de la autenticación, lo que conduce al error de “No Encontrado”.

    También asegúrate de que estás utilizando el ID de cliente y el secreto de cliente de OAuth 2.0 correctos de la Consola de Desarrollador de Google. Verifica que estén ingresados correctamente en la configuración de tu proyecto Django.

    Si las soluciones anteriores no funcionan, intenta usar el Google OAuth 2.0 Playground para probar el flujo de autenticación y ver si hay errores o problemas con tus credenciales o URIs de redireccionamiento.

    Si aún tienes dificultades, puede ser útil incluir el mensaje de error completo y cualquier registro o información de seguimiento relevante en tu pregunta para ayudar a identificar la causa raíz del problema.

Comments are closed.