# Sign in with username and password for private apps

**URL:** <https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695>\
**Category:** Feature Requests\
**Created:** [February 19, 2022, 3:17am UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695 "2022-02-19T03:17:48Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cloud\_X](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cloud_x/32/11700_2.png) [@Cloud\_X](https://community.glideapps.com/u/Cloud_X)\
**Post date:** [February 19, 2022, 3:17am UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/1 "2022-02-19T03:17:49Z")

</div>

I’m trying to use 2 apps together one for the normal users and one for the admins so I can only use email address from table mode in the privacy settings and it’s very annoying and less safe for the admins and I had to make an app for each admin which taking some time by duplicating an existed admin app and changing the settings and I have about 75 admins here soooooo .

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [February 19, 2022, 3:35am UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/2 "2022-02-19T03:35:43Z")

</div>

I guess I’m not understanding. Why do you need to create separate apps for each admin?

---

<div class="post-metadata">

**Author:** ![Cloud\_X](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cloud_x/32/11700_2.png) [@Cloud\_X](https://community.glideapps.com/u/Cloud_X)\
**Post date:** [February 19, 2022, 11:27am UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/3 "2022-02-19T11:27:39Z")

</div>

Because every admin has a private code that is automatically added when the admin share an item

 ![IMG_20220219_142626](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/1/f/1f3cc1961fff0ebe60f34e057cadfb336ad1d284.jpeg)  
 ![IMG_20220219_142434](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/c/e/ce829a595ba1c369b5e9e7c472454003de390f97.jpeg)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [February 19, 2022, 11:58am UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/4 "2022-02-19T11:58:15Z")

</div>

What is the purpose of that code?

Is it:

- for other users to gain access to the item that’s been shared?
- for other Admins to gain access to the item?
- only used by the Admin that shared it?
- something else?

Can you describe how the code is used?

---

<div class="post-metadata">

**Author:** ![Cloud\_X](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cloud_x/32/11700_2.png) [@Cloud\_X](https://community.glideapps.com/u/Cloud_X)\
**Post date:** [February 19, 2022, 12:52pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/5 "2022-02-19T12:52:32Z")

</div>

only used by the Admin that shared it

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [February 19, 2022, 1:03pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/6 "2022-02-19T13:03:24Z")

</div>

Okay, so I guess I’m in the same boat as Jeff.  
I still don’t understand what the purpose of that code is, or why you’re creating a separate app for each admin.

---

<div class="post-metadata">

**Author:** ![V88](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/v88/32/90054_2.png) [@V88](https://community.glideapps.com/u/V88)\
**Post date:** [February 19, 2022, 1:28pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/7 "2022-02-19T13:28:43Z")

</div>

User row owners? Surely? But maybe I don’t understand either?

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [February 19, 2022, 2:23pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/8 "2022-02-19T14:23:59Z")

</div>

It just seems like something is set up very wrong here. What you have described so far does not seem like something that would be a problem that would cause you to create separate apps.

There should not be any reason to create that many separate apps when it could be done in a single app instead. We are just trying to understand why you feel the need to create separate apps for each admin. We don’t know anything about your app, so we don’t know what that code means or what it’s used for. We don’t know what your specific problem is that makes you feel that you need to create separate apps. We don’t know why you feel the admin data is unsafe.

We are just trying to understand your app flow and your problem so we can help you structure things more efficiently. From what you have shown so far, I see absolutely no reason why this can’t be one app for all admins. We need more information other than “admins have a code that they use”. I don’t know what that means.

---

<div class="post-metadata">

**Author:** ![Cloud\_X](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cloud_x/32/11700_2.png) [@Cloud\_X](https://community.glideapps.com/u/Cloud_X)\
**Post date:** [February 19, 2022, 2:34pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/9 "2022-02-19T14:34:51Z")

</div>

Check out this video maybe it will be helpful

> **[VivaCut\_video\_1645280882584\_1080HD.mp4](https://drive.google.com/file/d/1JRYSWudb99qiknaQyZ7B8-Fxu9HIE2Ar/view?usp=drivesdk)**
>
> Google Drive file.

Also my app link

> **[IVC IRAQ](https://vigorous-salt-6567.glideapp.io/)**

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [February 19, 2022, 2:42pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/10 "2022-02-19T14:42:24Z")

</div>

Is your goal that each admin should only be able to see their own data?  
If that’s the case, just use a single app and apply [row owners](https://docs.glideapps.com/all/topics/security-and-user-data/row-owners).

---

<div class="post-metadata">

**Author:** ![Cloud\_X](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cloud_x/32/11700_2.png) [@Cloud\_X](https://community.glideapps.com/u/Cloud_X)\
**Post date:** [February 19, 2022, 2:47pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/11 "2022-02-19T14:47:09Z")

</div>

Thank you for your help ,I think that I have a lot of work here I’ll create a new app and try out the row owner feature and see if it works

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [February 19, 2022, 3:08pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/12 "2022-02-19T15:08:20Z")

</div>

Yes, I agree with @Darren_Murphy. This just seems like a simple case of applying row owners for data security, if you need it, and as an easy way to filter data.

Even without using row owners, you could set up user profiles in the app and point it to an admin table where you store info for each admin, including the code. Then you can set the item list to filter based on the signed in admin’s user profile code. When an admin creates new items, you can also automatically include their code by passing the code from the user profile through the form to the items table. User profile values are available throughout the app for many things, such as filters, visibility, passing the values through forms, etc. Glide knows who the signed in user is, so it pulls data from the correct user profile row.

Now, I don’t know how this all ties in with signing in with a username and password. That seems like a completely separate request. I don’t know how that would have made this problem any simpler. When a user signs in with the current email/pin method, then you are able to use these features, such as row owners, user profiles, and anything else that requires glide to know who the signed in user is.

---

<div class="post-metadata">

**Author:** ![Cloud\_X](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cloud_x/32/11700_2.png) [@Cloud\_X](https://community.glideapps.com/u/Cloud_X)\
**Post date:** [February 19, 2022, 4:06pm UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/13 "2022-02-19T16:06:22Z")

</div>

The easiest way is creating a new app for administrators only so I don’t have to make a sheet that contains both admins and users

---

<div class="post-metadata">

**Author:** ![Cloud\_X](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cloud_x/32/11700_2.png) [@Cloud\_X](https://community.glideapps.com/u/Cloud_X)\
**Post date:** [February 20, 2022, 11:05am UTC](https://community.glideapps.com/t/sign-in-with-username-and-password-for-private-apps/38695/14 "2022-02-20T11:05:21Z")

</div>

The solution was much easier I just had to use a new tab for login and hide all the other tabs by set the invisibility to : user image is not empty  
In the profile tab I had to do some tricks in the user profile table so I added a lookup column that looks for the user password in another table (admins info table) and a relation column to look for the private key in the admin info table so when the admin use his own private key and password the app will show only the items that belongs to him and because I set the invisibility to user image is not empty I had to set the user image picker invisibility to the following settings :  
Show components when Name is not empty  
and password is password column (the lookup column)  
and private key is not empty  
After doing all these tweaks the admin have to enter his name (any username he wants it’s not important) , password and private key and if the password and private key is incorrect the image picker will not show up  
After entering the correct info the image picker will show up and when the admin choose an image the profile tab will disappear automatically and will be accessible from the menu and the new tab that I created early for the login will disappear and will not be accessible anymore because the admin has completed his profile

 ![16453549183254488257695014567677](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/1/b1270bda778b7283c2176f83fc781ea1e62bac2c.jpeg)

 ![16453549621524685870278459901010](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/9/09572e7f2de6161562d3d97c6d160d6a02697453.jpeg)  
 ![16453550499416675271331105852769](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/5/f/5f3081c93ddfdef1b60869ac425f07f2f48b73d6.jpeg)
