Exemplo de validação de licenciamento via api cryptolens em python, com interface grafica em pyqt5
Dependências 📃
licensing
pyinstaller
pyqt5
base64
O código que compartilho, funciona da seguinte forma, tentamos obtemos retorno da auteticação (rsa x auth x numero de licença), a licença sendo validada, atraves do retorno, permitimos acesso a proxima tela do software (MainWindow), salvamos o texto contido no campo referente a "licença" na interface interativa, e carregamos o valor salvo, toda vez que o programa é aberto. Evitando retrabalho para o usuario. Aprofundando-se na documentacao da cryptolens, você encontrara exemplos de como armazenar licenças para que não seja necessário consumir a api frequentemente, voce pode armazenar informações sobre o licenciamento e reconsultar a api dentro de um intervalo de tempo, aqui trago um breve exemplo de como implantar o basico para obter um SaS, aprofunde-se e adapte a sua necessidade.
Crie sua conta no ambiente gestor de licenciamentos, cryptolens.
https://app.cryptolens.io/Account/Register
Após validar sua conta, efetue login e navegue até “Create new product”
Preencha as informações sobre seu produto (software) e clique em “Create”
Após criar seu produto, entre na página dele para configura-lo, e gerar uma chave
Com estas configurações básicas, você garante que o cliente seja associado ao produto, após ativar a licença via api, que o tempo concedido pela licença, começará a diminuir após a ativação somente
Após gerar a licença, clique sobre ela para definirmos alguns parâmetros
Defina a quantidade de acessos e clique em salvar( defina no mínimo 1), modalidade de licenciamento, e acesso à funções especiais vinculadas a licença
Desta seguinte forma, concluímos a configuração do licenciamento.
Temos 1 chave, com permissão de uso em 1 dispositivo, que expira em 1 mês após a ativação, e tem acesso a uma função da licença, “ativação”, você pode criar funções no seu codigo final, que permite acesso somente com permissão através dos “features” da licença acima mencionada, exemplo
Modulo fiscal = f4
A licença tem acesso a f1,f2,f3
Se o usuário tentar acessar o modulo fiscal, a api irá retornar que o f4 = False, assim negando acesso a funcionalidade
Agora definiremos as chaves de acesso e produto, no nosso codigo.
Acesse “security settings”
Copie o conteúdo da sua chave RSA e cole o conteúdo no codigo licensa.py no campo da variável “RSAPubKey”
Agora acesse “Acess tokens”
Clique em “Create new acess token”
Crie um nome para o token de acesso defina no mínimo a função “activate”, vincule o token de acesso ao produto, e salve
Pronto, token criado, copie o token gerado
Copie seu token e cole o conteúdo no codigo licensa.py no campo da variável “auth”
Agora entre em produtos, e selecione seu produto.
Copie o codigo do seu produto, para o campo da variável “prod_id”
Compilando.
Agora que temos as variáveis definidas dentro do nosso codigo de validação de licenciamento, podemos compilar nossa interface.
Abra o arquivo interface.py em algum terminal de seu ambiente, e envie o comando
pyinstaller --noconsole --onefile interface.py
Aguarde o compilador carregador os nodes utilizados das bibliotecas para um único arquivo executável junto com nosso codigo
Codigo fonte compilado, agora temos o executável. Você ira encontrar o executável dentro da pasta “dist”
Com software pronto. Voltamos ao ambiente cryptolens, e acessamos o painel de clientes,
Quando geramos a licença, dentro do cadastro do produto, informamos um cliente, que ira utilizar a licença.
Esse cliente, fica cadastrado no portal “Customers”
Abra o perfil do “Cliente” que você cadastrou junto com a licença.
Copie o link do cliente, e envie para seu cliente, poder se cadastrar, se vincular ao licenciamento, e receber a sua licença
Agora, com todos os passos, seguidos corretamente, o cliente ira obter sua chave, e inserir no momento que abre o software.
A partir de agora fica a cargo da sua criatividade utilizar este recurso em seu codigo, implemente-o de tal maneira que atenda sua necessidade.
Após o cliente ativar a licença, você poderá gerenciar através do portal da cryptolens
Através do portal você poderá gerar formulários de renovação de mensalidade, receber pagamentos via alguns gateways de pagamentos disponíveis na plataforma (paypal etc..)