"Entrar com o Twitter", usando o Zend Framework

Por Watkin Steven Lloyd , quinta-feira 17 março 2011 01:07

Apesar de todo o twitter ódio no momento, tenho a intenção de criar um novo twitter aplicativo baseado. Ser alguém que gerencia várias contas (tanto pessoal como para o meu trabalho de caridade) Eu tenho necessidade de uma ferramenta por algum tempo que eu estou de volta a escrever (mais do que em um futuro próximo ...).

Eu li em cima Zend_Oauth_Consumer e como ele pode ser usado para obter autorização para interagir com o Twitter utilizando o OAuth . Tudo bem, eu tenho a minha chave de acesso e posso alegremente post afastado em nome de um usuário. Há uma abundância de recursos lá fora para fazer isso assim que eu não aborrecer as pessoas.

O passo seguinte foi permitir que as pessoas retornam para o site, faça o login e modificar sua conta. Aqui é onde eu alcancei um pequeno problema. Usando os exemplos de código em sites significava que eu teria twitter me pedindo autorização de acesso novamente para cada login, não é bom. Digitalização através do quadro que eu não podia ver nada que me permita apenas um pedido de autenticação. Isso não quer dizer que não é ali, mas não parece ser um mecanismo de autenticação que pode ser chamado sem saber o token de acesso já.

As alternativas eram a implementação de um registo com base no site ou na forma de armazenar o token de acesso do cliente (criptografado, é claro) do usuário. Nenhuma dessas parecia uma boa solução / adequada.

Ter um olhar para os pedidos feitos pelo meu código eu sabia que tudo o que era necessário era mudar a URL para a qual Zend_Oauth_Consumer redirecionamentos. Parecia que a maneira mais fácil de fazer isso era para substituir o parâmetro authorizationUrl com a URL de autenticação do Twitter. Isso foi feito da seguinte forma:

 $ Config = array (
 "CallbackUrl '=> ... url de retorno ...,
 "SiteUrl '=>' https: / / twitter.com / oauth,
 "ConsumerKey '=> ... consumidor-chave ...,
 "ConsumerSecret '=> ... de chave secreta ...,
 );
 $ Consumidor Zend_Oauth_Consumer = new ($ config);

 GetRequestToken $ token = $ consumidor> ();
 / / Persistir o token para o armazenamento
 $ ['TWITTER_REQUEST_TOKEN'] _SESSION = serialize ($ token);
 setAuthorizeUrl $ consumidor-> ('https: / / twitter.com / oauth / autenticar');
 $ Consumidor-> redirect ();

No retorno para a aplicação do Twitter que o processo de resposta assim:

 $ Token = getAccessToken $ consumidor> (
 $ _GET,
 unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN'])
 );

 echo user_id $ token->.  '::'.  Screen_name $ token->;

Como você validar / guardar a autenticação é com você, mas isso deve implementar com sucesso um «sinal com twitter 'do sistema.

Se alguém souber de uma forma mais correta de solução mais elegante para isso, eu estaria muito interessado em ouvir. Parece haver uma falta de informação sobre "entrar com twitter 'usando PHP / Zend Framework na internet

Uma resposta para "" Entrar com o Twitter ", usando o Zend Framework"

  1. [...] Vem fazendo isso com o serviço do Twitter e você pode ver um pedaço rápida sobre isso aqui - Entrar com o Twitter utilizando o Zend Framework. Eu estou usando a minha implementação, onde eu definir o "URL Autorizar" como eu não [...]

Deixe uma resposta













Panorama Tema por Themocracy

4 visitantes online agora
3 visitantes, 1 bots, 0 membros
Max visitantes hoje: 14 às 03:51 UTC
Este mês: 26 em 2011/07/05 12:35 UTC
Este ano: 130 em 28-03-2011 22:40 UTC
Todos os tempos: 130 em 28-03-2011 10:40 UTC