Post

Como fazer login com Google Django: allauth

Simplificando a Integração do Django-Allauth para Autenticação com Google

Documentação oficial: https://docs.allauth.org/en/latest/installation/quickstart.html

Passo 1: Instalação do Django-Allauth

Comece instalando o Django-Allauth via pip:

Atualmente, a versão 0.63 pode apresentar alguns bugs, então é recomendável usar a versão 0.61.

1
pip install django-allauth==0.61.0

Passo 2: Configuração no arquivo settings.py

No seu arquivo settings.py, faça as seguintes configurações:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
INSTALLED_APPS = [

    "allauth",
    "allauth.account",
    "allauth.socialaccount",
    "allauth.socialaccount.providers.google",
]

MIDDLEWARE = [

    "allauth.account.middleware.AccountMiddleware",

]

AUTHENTICATION_BACKENDS = [

    "django.contrib.auth.backends.ModelBackend",
    "allauth.account.auth_backends.AuthenticationBackend",

]

SOCIALACCOUNT_PROVIDERS = {
    "google": {
        "APP": {
            "client_id": "SEU_CLIENT_ID",
            "secret": "SEU_SECRET_ID",
            "key": "",
        }
    }
}

LOGIN_REDIRECT_URL = "/"
LOGOUT_REDIRECT_URL = "/"

Passo 3: Configuração das URLs

Adicione as URLs de autenticação do Allauth no seu arquivo de URLs:

1
2
3
4
5
6
7
from django.urls import path, include

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

Passo 4: Configuração da API do Gmail

Acesse o Google Cloud Console, procure por “Gmail API”: https://console.cloud.google.com/cloud-resource-manager

Passo 5: Adicionando ClientID

Depois de criar as credenciais OAuth no Google Cloud Console, copie o client_id e o secret gerados.

Abra o seu arquivo settings.py e encontre a seção SOCIALACCOUNT_PROVIDERS. Dentro dessa seção, localize o provedor “google” e adicione as credenciais do cliente:

1
2
3
4
5
6
7
8
9
SOCIALACCOUNT_PROVIDERS = {
    "google": {
        "APP": {
            "client_id": "COLE_AQUI_SEU_CLIENT_ID",
            "secret": "COLE_AQUI_SEU_SECRET_ID",
            "key": "",
        }
    }
}

Passo 6: Adicionando o Botão de Login do Google

Em seu template HTML onde deseja adicionar o botão de login do Google, insira o seguinte código:

1
2
{ load- socialaccount }
<a href="{ provider_login_url "google" }?next=/">Login com Google</a>

Passo 7: Migrações e Execução do Servidor

Por fim, aplique as migrações e inicie o servidor Django:

1
2
3
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
This post is licensed under CC BY 4.0 by the author.