I have an App that is set to ‘private’ with access controlled by email addresses in a Glide Table called Users. As normal, Users can only access the app if their email address is in the Users Table. Importantly, the User Table has ‘row owners’ based on the email address column.
Is it possible to add a feature that allow would allow an admin to manage login access from within the App and without using the data editor? The benefit being stopping unwanted users entering the app and incurring Glide unique user costs.
Could the admin add a row to the Users table with a new member email address, i.e. add a new unique user
Could the admin delete the the email address of an existing user in order to prevent future access by that user?
I don’t really want to remove the row owners feature in the Users Table.
The only complication would be if you are using Roles, as they cannot be managed via the UI. So if you need to set roles via the UI then you would need to use the API.
The other thing to consider is whether or not removing a row from your Users table will break anything in other tables. For example, if you’re using the Email and/or RowID in relations to other tables. It that is a problem, then you might want to consider using a white list table, and select the Privacy->Users->Users in table option. That way instead of deleting the User Profile row, you would just need to delete the user from the white list table. I use this option a lot with business Apps where an employee needs to have their access to the App cut when they leave, but the related data needs to be maintained. The only downside is that it adds to your row count, as you’ll have two rows (one in each table) for each active user.
Please tell me more about how a User can delete an email address in another user’s row in the User table? How is that possible if the table has Row Owners based on email? I don’t get how an API would be used…
I have a white table already but that does not achieve the goal, which is preventing login in order to avoid Glide costs for unique users. It just allows blocking of interactions once in the App, no?
In short, I want to delegate who can access the app to a fitness instructor without setting her up with access to Glide as an Editor of the App. If it helps, I do collect real email addresses.
You said you would have an Admin user doing this, so I assumed that they would have an “Admin” role with ownership of all rows, no?
Using the API is only necessary if your Admin user also needs to be able to manage User Roles, as that is not possible via the UI.
No, the white list table determines who can sign into the App. If a user email address is not present in that table, they will be denied access to the App (assuming that it’s correctly configured). To be clear, this is what I mean:
Oh wow… I was not aware of this white list table… that sounds like it will be perfect. And yes, the fitness instructor has an admin role that is set in the users table, so I assume I can set visibility to edit the white list table via the role ‘admin or not’.
In case you were not aware, you can have as many row owner columns as you want in a table. You can have one row owner column containing the user email, as well as another row owner column containing either the admin email or the admin role.