Licensing system for client side code web application

Batman

I have a client-side web application running on SharePoint Site Collection, each site collection has it's own unique id. I want to use a licensing process to lock the app to a site collection.

This is the challenge-response process I'm trying to implement:

  • User prompted to generate challenge code
  • challenge code is site_collection_id processed through some function
  • User emails me challenge code
  • Encrypt challenge code with a private key
  • The encrypted result is considered the license key which I send to user
  • User saves license key into the application

Validation Process:

  • On app load, retrieve license key
  • Decrypt license key using a public key stored in app
  • The result is the challenge code the user had sent before
  • Take that challenge code revert it back to a site collection id
  • Retrieve the site collection id app is currently running on
  • Compare the two to determine if license key is valid

Does this make sense? The one thing I'm not sure about is the public/private key stuff and if there's a way to do this in JavaScript.


I know it's impossible to 100% secure client-side applications. I'm just looking for something to prevent someone from easily distributing the application

Ahmet Cetin

You can use public/private key in javascript, I just used in my recent project. Check openpgp.js. The scenario you describe looks fine. You may also use daily tokens client will ask your server to be able to run, sharepoint site may send the token you give them back with a request for daily license, and you send license code and a token which is valid for 24h.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Licensing system for client side code web application

ASPNET Web API application return error in client side

Is this client side application secure?

Bundle and publish client-side web code on NPM

OCR(optical character recognition) should use client side or server side in web application

How to avoid System.TypeLoadException unhandled exception in browser when loading Blazor client-side application

View client side Meteor code

Execute code securely on client side

Visual Studio Code debugging client side JavaScript

How to hide/secure API keys in an Angular 2 client side application?

Reactjs wordpress prerender existing client side application for SEO

What are Dynamics NAV licensing requirements for Web Services?

gRPC c# file download/upload + web client side

How to create a code behind file for Blazor client side

Xpages: how can we implement localization for client side JS code?

ASP.NET Core Reuse Code for Client-Side and Server-Side Validation

Client side data to server side

How can I easily transfer my serverside variables from the Java code to the client-side code?

Licensing an open source project after reading code of a similar one

SockJS Java Client Implementation for non-web application

Azure AD using token from client application in Web API

Email validation client side

Delegating server side validation on the client side

Not able to pass client side message to server side

Storing temporary client side data

Android Pagination on server or client side

Cannot debug blazor client side

angular 2 client side condition

Use npm package on client side