Como fazer autenticação Twitter e Facebook no Grails
30/07/2014 15:31
0
Boa tarde,

Estou com uma dúvida sobre autenticação utilizando Twitter e Facebook, e não to conseguindo resolver, talvez porque envolva um pouco a "arquitetura" do sistema.

Estou utilizando o Spring Security Core Plugin e esses dois para fazer a autenticação via Twitter e Facebook: http://grails.org/plugin/spring-security-twitter e http://grails.org/plugin/spring-security-facebook

Por enquanto, criei o app no dev.twitter, segui o tutorial que o plugin do Twitter informa, e tá funcionando. O botão funciona, me redireciona para o site, dou permissão, e ele retorna ao site, tal como previsto.

Porém, tenho um outro domain-class, por exemplo, Avaliador. Nesse domain, tenho outras informações e tal.

O plugin cria o domain-class TwitterUser. Como eu faço para que, quando o usuário se logar via twitter (ou facebook), criar um registro na tabela Avaliador, com um "link" para a a tabela criada pelo plugin do Spring Security?

Não sei se minha dúvida ficou clara, ou se estou fazendo algo errado, mas há pouca informação sobre isso.
Tags: twitter auth, facebook auth, spring security twitter, spring security facebook


1
Rodrigo, o que você quer é interceptar o momento de autenticação bem sucedida para alterar o banco de dados?


0
Olá Rodrigo,
Utilizo outro plugin para autenticar no face/twitter, nele existe os métodos de callback que são chamados pelo face/twitter, esses plugins tem isso tbm? se tiver é só vc colocar esta ação que está querendo dentro destes métodos.
30/07/2014 18:59


0
Deixa eu tentar me explicar direito.

Consigo fazer a autenticação, tudo certo. Só que tanto o Twitter auth quanto o FB auth utilizam o SecUser (meu domain-class gerado pelo Spring Security).

Só que eu tenho outros métodos, tipo um hasMany e outros.

A minha dúvida é se eu utilizo a própria classe SecUser, modificando ela e adicionando os métodos que eu preciso, ou se eu crio outro domain-class, por exemplo Avaliador, com algo tipo isso

Avaliador
{
SecUser secUser
Date dataCadastro

static hasMany =....
}

Qual a melhor abordagem?

E qual plugin tu utiliza, Dyego?


0
Agora entendi Rodrigo.
Bom, acho que o melhor é vc criar uma classe que extenda seu SecUser, pq ai se vc precisar gerar esta classe novamente (devido a uma atualização no springSecurity, por exemplo) vc não terá problema com as implementações que adicionou, pois elas estarão na classe extendidas ^^

Utilizo o plugin Spring Security Rest
01/08/2014 11:36


1
Consegui o que queria.

Os plugins que eu to usando te dá a opção de criar um service (TwitterAuthService ou FacebookAuthService), com o método, por exemplo, void afterCreate.

Com isso, consegui o que eu queria.

Valeu a todos, postando aqui consegui pensar melhor na arquitetura e opções.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto