Issue #337
Realizar login com redes não-noosfero
Como usuário fazendo login, devo ver a opção:
- Login com: (ícone) Facebook, Google, etc
Ao clicar nesta opção, a autorização deve ser feita através do protocolo oauth, onde informações necessárias para o login externo do noosfero (ver model ExternalPerson
e também o método ExternalUser#external_authenticate
) serão obtidas através da api de cada serviço.
A navegação/gerenciamento de usuário logado então será realizada similarmente ao login de usuários noosfero federados (i.e. com o session[:user]
contendo apenas um user na memória e utilizando o model ExternalPerson
; olhar o uso de session[:external_person]
e os models ExternalPerson
e ExternalUser
).
Fazer adaptações necessárias (dentro do plugin) nas classes citadas acima para suportar usuários de redes não-noosfero (exemplo: o avatar do usuário definido em ExternalPerson#avatar
ou a url do seu perfil em ExternalPerson#url
). O mesmo tipo de identificação usado para representar usuários de outras redes Noosfero na nova rede é usada para usuários de redes externas, ou seja fulano@facebook. Essa representação (em comentários feitos, por exemplo) não deve quebrar caso o plugin esteja desabilitado quando o comentário estiver sendo visualizado.
Depende de #336
-
Reassigned to @gabrielssilva
-
Pendente alguns testes do comportamento antigo e refatorar uma relação redundante nas modelos.