What is the best practice for differentiating free-tier users from the paid subscribers
-
I'm trying to figure out whether to use FusionAuth groups and roles to keep users' subscription status or not.
From one perspective, it is a correct way to differentiate logged in users by using built-in roles/groups for a SaaS authentication setup. On the other hand, I'm not sure if FusionAuth's roles/groups are meant to be used like that.
What would be the best practice to understand a user's subscription status for the given app (under a tenant) during or after the login to enable disable features?
Thank you
-
I would probably manage subscriptions outside of the FusionAuth, but looking through FA entities, user actions seems pretty promising. There, among other things, you have an option to set action (subscription) type, creator and expiration time, etc. Actions can also be revoked, and theirs history can be accessed. Finally, user action fetch API allows to return only active actions.
-
Thank you for the answer @mgetka. The subscriptions are already managed on a billing platform. What I'm trying to figure out is to find an efficient way to give the logged-in user a decent screen based on his/her subscription type (free/paid) without checking it via the billing systems API every time.
I checked user actions they seem promising as you said. FusionAuth says it's roughly used for user reward mechanisms, I'm still trying to align that to my purpose.
-
@atakan You shouldn't remove the main features that current users have already paid for if you're switching your app to a subscription-based business model. For instance, after you introduce a subscription model for new customers, allow customers who have already purchased a "full game unlock" to continue having access to the full game.
This, in my opinion, applies to Notability, and if enough users raise awareness of it, it might be possible for us premium users to continue using it without a subscription.