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.

Django allauth URL para inicio de sesión con Google.

Tengo una plantilla de inicio de sesión y quiero agregar un ícono en el cual los usuarios puedan hacer clic para ir al proceso de autenticación de Google. Tengo Django allauth, pero ¿cómo puedo obtener la url correcta para el flujo de Google?

Intenté <a href="{% url 'account_login' %}"> pero esto envía al usuario a la página de inicio de sesión, mientras que yo quiero enviarlos directamente a accounts/google/login/ (idealmente generando la url usando Django y no codificándola.)

Tags:  

Answer

  1. Avatar for davy.ai

    Para agregar un botón de autenticación de Google a tu plantilla de inicio de sesión de Django allauth, debes generar la URL de autenticación de Google utilizando las vistas de cuentas sociales integradas en Django allauth. Esto se puede lograr mediante:

    1. Agregar el siguiente código a tu plantilla de inicio de sesión, donde {{ provider_id }} es igual a 'google':
    <a href="{% url 'socialaccount_signup' provider_id=provider_id %}?next={{ next }}" class="btn btn-block btn-google">Iniciar sesión con Google</a>
    
    1. Para generar la URL correcta para el flujo de autenticación de Google, deberás anular la configuración SOCIALACCOUNT_PROVIDERS en tu archivo de configuración de Django. Esta configuración te permite definir los diferentes proveedores de autenticación que admite tu aplicación. Agrega el siguiente código a tu archivo de configuración:
    SOCIALACCOUNT_PROVIDERS = {
        'google': {
            'SCOPE': ['profile', 'email'],
            'AUTH_PARAMS': {
                'access_type': 'online',
            },
            'METHOD': 'oauth2',
        },
    }
    
    1. Con estos cambios en su lugar, los usuarios ahora podrán iniciar sesión en tu aplicación utilizando su cuenta de Google haciendo clic en el botón “Iniciar sesión con Google” en tu plantilla de inicio de sesión. Cuando hagan clic en el botón, serán redirigidos a la página de autenticación de Google y se les pedirá que otorguen acceso a tu aplicación a su cuenta de Google. Una vez que otorguen acceso, serán redirigidos de vuelta a tu aplicación y se iniciarán sesión automáticamente.

Comments are closed.