Estou precisando integrar um pequeno sistema com o orkut e o twitter. Dando um navegada na internet encontrei essas duas apis, porem não entendi como funciona o processo de autenticação.
Ambas das API utilizam um arquivo .properties que possuem os seguintes parâmetros.
oauth.consumerKey=*********************
oauth.consumerSecret=******************************************
oauth.accessToken=**************************************************
oauth.accessTokenSecret=******************************************
O que são esse parâmetros. Pelo que entendi ambas das api baseam-se na especificação OAuth, porem não tenho certeza se a implementação que eles utilizam é do google. Alguem poderia me ajudar?
Opa, não tem mistério não :). Essas chaves do properties vc consegue junto ao site que vc quer fazer autenticacao. Por exemplo, no twitter vc tem que navegar até a parte de applications e cadastrar uma app. Com isso ele vai gerar justamente essas informações. O processo em si é o seguinte:
- a pessoa é direcionada para o ambiente de autenticação no provedor(twitter no caso)
- após a autenticação ela é redirecionada para uma url que vc vai cadastrar. Deve ter esse passo em algum lugar nessas libs que vc citou.
- Através da api vc deve conseguir acesso aos dados da pessoa logada. Daí para frente vc que manda e faz como bem entender.
Alberto
Ta certo, acho que entendi o motivo de todo o processo;
Porem porque as API do google como a google calendar e picasa são mais simples? Basta passar o e-mail e a senha? Não é necessário fazer todo esse processo.
O que acontece é o seguinte: o OAuth é justamente um protocolo que é usado para não ter que se ficar passando o usuário e senha TODA requisição. Com ele um usuário autoriza uma aplicação, no caso a sua, a acessar um ou mais recursos protegidos em outra app (o Twitter) sem ter que ficar autenticando e fornecendo as credenciais. Assim é reduzido o poder de atuação aplicação cliente sobre a aplicação que contém os recursos. No facebook essa restrição dá pra ser vista melhor, cada app autorizada, mostra no box os recursos que ela irá acessar do Facebook (fotos e/ou updates, etc).
O consumerKey e consumerSecret são obtidos no momento que sua aplicação é cadastrada no twitter (um tipo de login e senha pra ela, falando grosseiramente). Já o accessToken e accessSecret são obtidos a partir do momento que sua app é autorizada a acessar os recursos para um usuário. Então a cada request para o Twitter eles serão passados, assim vc não passa o login e senha do usuário, ou muito menos controla a sessão do usuário do twitter.
Abraços