Autorização sem autorização: não coletamos dados pessoais

Em uma era de vazamento total de dados por gigantes da Internet e processos criminais em um ambiente digital, os usuários têm medo de deixar qualquer informação sobre si mesmos. Especialmente quando se trata de um serviço VPN, em que o usuário não deseja inserir seus dados pessoais, mesmo durante o registro, e o acesso ao serviço em várias plataformas deve ser rápido e sem informações desnecessárias. Criamos nosso serviço GuruVPN sob o lema "VPN de pessoas", por isso era muito importante tornar a maneira mais simples e anônima de instalar e verificar usuários.

Neste artigo, queremos compartilhar nossa experiência na implementação de um sistema de autorização de usuário em várias plataformas. Essa solução exclusiva nos permitiu não coletar ou armazenar dados pessoais dos usuários. Absolutamente.

Antecedentes


Na primeira etapa, nossa equipe decidiu que o aplicativo terá um sistema clássico de autorização / registro: email ou telefone, para que o usuário possa emitir e pagar por uma assinatura de um dispositivo e ativar o acesso em todos os dispositivos.

Escolhemos um formato, começamos a escrever a documentação, mas em algum momento surgiu a pergunta: como combinar dados de inscrição na App Store e no Google Play, para que fosse possível sincronizá-los nas duas plataformas? E fazer isso de forma a estabelecer um período de assinatura comum e, além disso, na saída, o sistema não contradiz nossa posição de "não coletar dados do usuário".

Portanto, começamos a desenvolver um sistema que cumprisse os seguintes pontos:

  • não coletou ou armazenou dados pessoais de usuários
  • permitiu a idéia de assinatura renovável automaticamente em várias plataformas

E nossa equipe encontrou um formato exclusivo - um sistema de tokens temporários foi desenvolvido para autorização da área de trabalho.

Entrar


Qual é o segredo dessa decisão?

O usuário precisa instalar o aplicativo em seu smartphone, pagar com segurança e rapidez pela assinatura e, com a ajuda de um código QR em uma ação, autorizá-lo em outro dispositivo. Sem credenciais, faça o login e adquira o acesso.

Como isso funciona para o usuário


  • Após o download do programa na área de trabalho, é exibida uma tela de autorização na qual um código QR é exibido.
  • Faça o download e inicie o aplicativo móvel na App Store / Google Play com assinatura no aplicativo
  • Digitalize ou insira o código de autorização no aplicativo móvel
  • Após a autorização bem-sucedida, você está aguardando o carregamento da tela de controle de conexão
  • Escolha um país para se conectar e clique em "Conectar"
  • Depois de obter permissões, uma conexão VPN será estabelecida

Como realmente funciona



  1. Na autorização primária, o aplicativo da área de trabalho solicita um token temporário;
  2. Um token temporário é gerado automaticamente no banco de dados e fornecido ao aplicativo de desktop. Para máxima segurança dos dados, a vida útil do nosso token é de 15 minutos;
  3. O aplicativo de desktop exibe na tela principal um código QR e um token aberto para um aplicativo móvel;
  4. O aplicativo móvel verifica o código QR e reconhece o código digitado manualmente pelo usuário e o envia à solicitação da API para gerar uma confirmação do dispositivo do usuário;
  5. O aplicativo de desktop solicita permissão do servidor do usuário, ao qual o token está vinculado, se a ligação existir - a API fornece o ID e o token para autorização sem problemas.

Assim, foi possível implementar um esquema de autorização de usuário muito simples e, o mais importante, anônimo no sistema, que permite fornecer acesso ao aplicativo em várias plataformas, sem etapas desnecessárias com uma única assinatura.

Como funciona na loja de aplicativos para dispositivos móveis. Por exemplo, na App Store


Não vamos nos aprofundar no processo de implementação de compras no aplicativo em detalhes, já escrevemos muito sobre isso em Habré.

No primeiro estágio, o status do recebimento e da assinatura é verificado no servidor, os parâmetros de solicitação são verificados. Após a verificação bem-sucedida, o aplicativo retorna o status da assinatura e o token da sessão.

Após a validação da verificação, o algoritmo inicia:



Resultado


O processo de autorização é muito simples e rápido: em média, instalar e autorizar um aplicativo em uma área de trabalho leva apenas alguns minutos e requer um esforço mínimo do usuário. No projeto, conforme planejado, acabou implementando um sistema de compras internas em um formato de plataforma cruzada, mantendo o anonimato completo dos dados do usuário, o que é um fato muito importante para um serviço VPN. E o que é importante, fomos capazes de implementar o processo de forma que correspondesse totalmente ao espírito do projeto - "uma aplicação para as pessoas".

Source: https://habr.com/ru/post/pt426079/


All Articles