Pergunta

Atualmente, estou trabalhando no aplicativo da Web de importador (no PHP), para poder pegar o endereço de e -mail da conta de um usuário no Gmail, Yahoo, etc. e usá -los para meus próprios fins malignos. Brincadeira, meu aplicativo da web é muito amigável.

Eu pensei em começar com o Google. Descobri que eles têm uma pequena API fantástica chamada API de contatos do Google, que permite que um programador, como eu, acesse os contatos de um usuário.

Depois de algumas horas lutando e jogando código de merda juntos, encontrei alguns blocos de estrada. Minha principal pergunta é a seguinte:

Existe alguma maneira de que eu possa fazer com que um usuário forneça seu nome de usuário e senha para o Gmail no meu site e faça meu código recuperar os contatos sem Esse redirecionamento desagradável para uma página de login do Google? É meio que arruina todo o fluxo do meu aplicativo da web.

Eu olhei para o AuthSub e fiz isso para funcionar, mas é claro que a captura é que você precisa redirecionar o usuário para obter o token de acesso. Parece que Oauth terá o mesmo problema.

O único raio de esperança que tenho é o método de autenticação do cliente. Novamente, há um problema, às vezes o Google lança um captcha para você em vez do token de autenticação. Novamente, o fluxo do usuário está arruinado.

Percebi que nossos bons e velhos amigos no Twitter estão funcionando muito bem. Alguém sabe como eles fazem isso?

Obrigado!

Foi útil?

Solução

Eu acho que você identificou um recurso, não um bug. O ponto principal do OAuth é impedir que os usuários digitem suas senhas em sites de terceiros como o seu: assim eles podem aprender a digitar apenas a senha do Google quando estão olhando para uma página de login do Google e não precisam confiar que você ganhou Armazene sua senha e use -a para ler todo o e -mail deles.

Ele fornece uma pequena interrupção no fluxo do seu aplicativo da Web, mas o OAuth geralmente fornece um retorno de chamada para que não seja realmente uma grande interrupção. Em troca, seus usuários podem se sentir mais seguros e você pode evitar problemas para armazenar (e depois descartar) senhas de usuário.

Em suma, acho que você não poderá contornar isso. É verdade que o Twitter permite atualmente ("Basic Auth", onde o nome de usuário e a senha são enviados diretamente), mas esse recurso está planejado para ser descontinuado por este verão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top