ejplatform / ej-server

EJ uses gamification and machine learning to promote discussions and participation in a virtual democracy
https://ejplatform.github.io/ej-server/
Other
38 stars 17 forks source link

[WIP] Adiciona redirecionamento automático para um board a partir de acesso via sub domínio. #716

Closed davidCarlos closed 4 years ago

davidCarlos commented 5 years ago

Descrição

Este pull request adiciona o campo sub_domain ao formulário do board. Esse campo permite que, a partir do endereço que requisita o backend do EJ, seja possível redirecionar o usuário para um board específico, que tenha como sub_domain o subdomínio utilizado pelo usuário.

Passos para testar a feature:

  1. Acesse https://davidcarlos.me/
  2. Crie um board um um subdomínio qualquer de davidcarlos.me
  3. Abra uma outra aba e acesse o subdomínio
  4. Você deverá ser redirecionado para o board criado.

O login via subdomínio também foi implementado nesse PR. O usuário será redirecionado para o domínio (que deve possuir o aplicativo social configurado e o registro nas redes sociais) e após efetuar o login, é redirecionado de volta para o subdomínio. Esse processo é feito utilizando o parâmetro next que o EJ utiliza para fazer o redirecionamento após o login, além de um javascript que mantêm no localStorage para qual subdomínio o cliente tem que retornar após o login (o localStorage é limpo após o redirect). Para permitir que o usuário logue no domínio e continue logado no subdomínio uma nova variável de configuração foi adicionada ao EJ: SESSION_COOKIE_DOMAIN. Essa variável define quais subdomínios irão manter os cookies de login.

Uma configuração no servidor http irá permitir que todos os subdomínios sejam acessados via https.

Issues Relacionadas

654

Checklist

Imagens/Comentários

Um simples esquemático demonstrando os dois casos de redirecionamento:

  1. Redirecionamento para o board
  2. Redirecionamento para o login ej_sub_domain_schema