Login Social

Usuários também podem fazer login no EJ com o Twitter, o Facebook ou o Google. Para fazer isso, você precisa preparar o ambiente e criar os aplicativos sociais nas respectivas redes sociais.

Twitter

Primeiro, vá para a interface do desenvolvedor do Twitter ( https://apps.twitter.com ) e crie um aplicativo. O ponto importante é configurar os “URLs de retorno” e marcar a caixa de seleção “Permitir que este aplicativo seja usado para entrar no Twitter”. Adicione duas URLs de retorno: https://your-host/accounts/twitter/login/callback/ e http://your-host/accounts/twitter/login/callback/.

Agora, no Django, vá para a interface de administração e crie um novo app social: http://your-host/admin/socialaccount/socialapp/add/. Escolha “Twitter” como provedor, coloque um nome como “EJ Twitter”, escolha o site (ex: ejplatform.org.br) e coloque a chave do consumidor em “Client id” e o segredo do consumidor em “Secret key”. Você pode encontrar a chave do consumidor e o segredo do consumidor na página do aplicativo do Twitter, na guia “Chaves e tokens de acesso”.

Facebook

É importante ter em mente: o Facebook só permite HTTPS e não permite host local. Então, para desenvolvimento local, sugerimos usar uma ferramenta como o Local Tunnel (http://localtunnel.github.io/www/) ou Ngrok (https://ngrok.com/) para obter um URL HTTPS público que redirecione para sua instância EJ local. Lembre-se para adicionar esse host ao DJANGO_ALLOWED_HOSTS.

Uma vez que você tem o host, vá para a página de gerenciamento de aplicativos do Facebook (https://developers.facebook.com/apps) e adicione um novo aplicativo web. Vá para Configurações > Básico e adicione o host a "domínios de aplicação" e "Site". Adicione o produto "Login do Facebook" ao seu aplicativo e, em suas configurações, adicione https://your-host/accounts/facebook/login/callback como um URI OAuth válido.

Agora, no lado Django, vá para a interface de administração e crie um novo aplicativo social: http://your-host/admin/socialaccount/socialapp/add/. Escolha "Facebook" como o provedor, coloque um nome como "EJ Facebook", escolha o site do seu host e coloque o id do aplicativo sob a chave "Cliente id" e secreta sob os campos "Chave Secreta". Você pode encontrar a Id do aplicativo e a chave secreta na página do aplicativo do Facebook, em Configurações > Basic.

Google

Para ter o login do Google, você precisa de um domínio de primeiro nível válido que possa confirmar a propriedade. Vá para o console de desenvolvedores (https://console.cloud.google.com/) e crie um novo projeto. Crie uma nova credencial (https://console.cloud.google.com/apis/credentials) e adicione https://your-host/accounts/google/login/callback/ como um URI de redirecionamento autorizado. Lembre-se de adicionar um domínio válido.

Agora, no lado Django, vá para a interface de administração e crie um novo aplicativo social: http://your-host/admin/socialaccount/socialapp/add/. Escolha "Google" como o provedor, coloque um nome como "EJ Google", escolha o site do seu host e coloque o ID do aplicativo em "ID do cliente" e a chave secreta em "Chave secreta". É possível encontrar a Id do aplicativo e a chave secreta na página do Google App, em credenciais.

Outras informações

Em todos os casos, para desenvolvimento local você pode precisar definir, em src/ej/settings/__init__.py, ACCOUNT_EMAIL_VERIFICATION = 'none'.

Mais detalhes em https://django-allauth.readthedocs.io/en/latest/providers.html.