keygen-sh / keygen-api

Keygen is a fair source software licensing and distribution API built with Ruby on Rails. For developers, by developers.
https://keygen.sh
Other
699 stars 40 forks source link

Email whitelisting and blacklisting #785

Closed ayntk-ai closed 5 months ago

ayntk-ai commented 5 months ago

Please add the following features to Keygen:

ezekg commented 5 months ago

What's your use case for this? Can you elaborate? With multi-user licensing coming in #774, you will be able to set up multi-user licenses, so I'm unsure of how an email whitelist feature would be beneficial or unsure how that would work i.r.t. e.g. validation.

ayntk-ai commented 5 months ago

With multi-keys I want to be able to prevent users from using the key, e.g. if the key is shared. Also the key is only allowed for all people in an organization -> all people in this organization have a company email and to prevent license key sharing the license key is only seen as valid if a user has a key + the key multi-user limit is still below the max and the email domain is the one from the company.

ezekg commented 5 months ago

I think this will be handled in #774. I don't think introducing email "whitelisting" by domain makes a lot of sense in terms of functionality when multi-user licenses will handle this already (via creating a user for each email and attaching each user to a license). A whitelisting approach would essentially be the same thing, since user objects only require an email (i.e. password and name are optional), effectively whitelisting it. Groups can then be used to add a max user limit to a license.

Blacklisting emails is interesting, but it'd be complex to implement. It'd be easier to implement IP blacklisting instead (#662), to block certain users, or simply detach them from the license.