Login automático a partir do email do cliente


8

Eu estava pensando em criar um recurso de login automático para uma extensão em que estou trabalhando, em que um cliente que clicar em um link em um e-mail será automaticamente conectado à sua conta.

Isso seria realmente útil, especialmente ao enviar para clientes mais antigos, pois há uma grande alteração de que eles precisariam acessar a senha esquecida para fazer login e fazer uma compra.

Mas, por outro lado, isso abriria algumas vulnerabilidades das quais não estou muito animado. Se um cliente encaminhar o email para o amigo e o amigo clicar nos links, ele também será conectado como amigo.

Você pode tentar educar seus clientes para não encaminhar esses e-mails, mas isso pode ser uma batalha difícil. A ideia de que o encaminhamento de um email de marketing a um amigo permitiria que eles acessassem sua conta sem autorização não é algo que as pessoas se acostumarão rapidamente.

Pensamentos?

ATUALIZAÇÃO: Acabei de perceber que o Quora faz um logon automático a partir dos emails de notificação de comentários.

Respostas:


11
  1. Armazene o endereço IP e / ou o agente do usuário usado quando o cliente fez um pedido ou foi visitado pela última vez e faça com que o link funcione apenas com esse endereço IP ou agente do usuário.
  2. Faça o link funcionar apenas uma vez.
  3. Exija uma autenticação intermediária realmente fácil, como "Para confirmar que você é Jane Doe, digite seu CEP:"

Eu estava pensando um pouco mais sobre isso. Eu estava pensando que, se alguém tivesse um incentivo para criar esse tipo de recurso, provavelmente seria o Facebook ou o Twitter. Mas eles não fazem isso, fazem?
— Kalenjordan

4. As chances de o cliente não mudar o navegador são altas - salve um valor de cookie no qual você se autentica além do link.
— Kristof em Fooman

11
Se o usuário tiver um telefone e / ou usar o site em uma biblioteca, há uma boa chance de que o agente do usuário seja alterado. O mesmo vale para o IP. As pessoas, de fato, fazem coisas em seus computadores e depois as seguem em seus dispositivos móveis. Adicione a isso o atraso dos e-mails de marketing ... e você tem uma probabilidade ainda maior de que vários dispositivos ou IPs estejam em jogo.
— davidalger

12

Eu acho que não recomendaria esse recurso ...

De qualquer maneira, se você deseja criar esse recurso, considere estes pontos:

  • use um logon baseado em token, como http: //shop.tld/? autologintoken = AABBCCDD

  • se for apenas a primeira vez que o cliente fizer logon, limite o token de autenticação a um logon

  • torne o token exclusivo por cliente e também (muito importante) não se baseie no nome de usuário / senha / endereço / nome / email / qualquer que seja. Mage_Core_Helper_Data :: getRandomString pode ajudá-lo. Um comprimento de 32 deve ser o mínimo que eu diria. Não use algo como md5 (time ())!

  • altere o token toda vez que o cliente alterar sua senha

  • restringir o acesso à conta para clientes que efetuaram login usando o token, por exemplo, permita que eles insiram sua senha se quiserem mudar para endereço de email ou acessar números CC. Isso poderia ajudar um pouco a melhorar a segurança

  • (!!!) não confie em navegador, cookies, IP ou qualquer outra coisa


11
Gostaria de poder dar mais do que um simples +1 neste. :)
— davidalger

11
Nas versões do Magento anteriores à 1.9, o getRandomString é extremamente fraco devido ao fato de o mt_srand ter sido propagado com apenas 1 milhão de valores possíveis (não importa o tamanho da string, ainda assim, apenas 1 milhão de resultados possíveis).
— ColinM
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.