Search code examples
authenticationfacebook-loginmulti-tenantgoogle-signin

Is a software tenant a user or a group of users?


I'm reading the Wikipedia article on software multitenancy and it defines a "tenant" as follows: "A tenant is a group of users who share a common access with specific privileges to the software instance".

What I want to know:

What does "common access" mean? If I have an app to which users can log in using a main login screen, or login with Facebook, or login with google, do all users share a "common login" in that they can all login to the app using their phones, albeit with different identity providers (Facebook, google, etc)? Or do the users that login with Facebook share a "common login", users that login with google share a "common login", etc? OR, does the group of users that share a common username+password share a "common login"? Basically I'm asking for a clearer definition of what a tenant is.


Solution

  • This is the problem with buzzword-speak. This particular one seems to originate in the "cloud computing" world, which is indeed awash with pointless buzzwords.

    What the article calls "tenant" is what we would usually just call "user".

    It is possible that multiple organic human beings are aware of the same username/password combination (credentials) and have (for whatever reason) been permitted to use them to access the system in the same way.

    So, from a human standpoint, there are multiple users. But from the system's perspective it's just one "user". That article/model/perspective uses the term "tenant" for this instead, and seems to consider a "user" to be a single biological entity.

    By analogy, in real life there may legally be only one occupant of some property (apartment, house, etc), but there's nothing stopping that person from having some other people over for a party. As far as the landlord's concerned, there's still just one tenant.