Not sure if this is a bug but during our app’s development phase we had the sign-in status as PUBLIC.
We noticed that whenever we tried to Favourite an item, a pop up welcome screen appeared requesting us to sign-in.
Great! That’s what we expect to happen.
However, non-logged in users are able to use any of our contact forms where one of the ‘special values’ is the user’s email address.
This means that they are able to send an email message but it doesn’t capture their email address because our app is ‘Public’.
Like the request to sign-up whenever they try to favourite something, we should only allow them to use the contact forms if they sign-up.
The only solutions to this would be to either add an email field to the form (not ideal), or switch our sign-in status to ‘Public with email’ which defeats the purpose of our app which is simply to enable anyone to browse the content, but only be required to sign-up when they want/need to take some action, in this case add to favourites or use the contact forms.
As a Pro user it would be great if there was some option that enabled us to make it a requirement to sign-up to our app in order to use the contact forms.
@nathanaelb: I’m looking into this now, thank you for sharing it.
It would be much better, for various reasons, to encourage users with a genuine intent to sign up to use this functionality, as it weeds out the time-wasters, scammers, spammers and other misfits.
To be clear, our app should be visible to Public in order for anyone to easily browse our content.
They should only need to sign-up or login if they want to do any of the following actions:
Save items to favourites
Use a contact form to send communications
As it currently stands, only the first option works in Public mode. The other option doesn’t work at all as the forms allow anyone to send communication.
Making our app Public with email adds an unnecessary barrier to entry.
Build your app using the sign in with email or email whitelist, then, make it back to public. In order to display the log in form, add a tab in the app menu (you’ll get the hamburger menu containing the login form and the disconnect option).
This way, your app will be public, but your users will be able to sign in. And use the User profiles tab to ensure to be able to get them as “signed in users”. This way, you will be able to set the visibility condition for some of your components using the “is signed in user” condition.
I’m not 100%, but pretty sure user profiles will work on a public app. You may need to add something to the upper left menu to get to it, but it should work. Then only show the form button if the user profile email is not empty.
No, you’ll just need to add a visibility condition (… is signed in user) to the components you want visible to the signed in users only. Don’t restart from scratch, no need
Just to be clear, @Christophe_HK and I are taking about two different methods. My option is probably safer long term and matches the first option in my referenced post. His is a little bit if a hack and locks down the app temporarily any time you have to make UI changes that involve ‘signed in user’, but opens up more options for settings by signed in user. Either way would work, but I just wanted to clarify that these are both two different methods to try with a public app.
That’s the reason why @Christophe_HK’s option is a “hack”. It still works just fine a far as we have seen, even with the warning. (Trust me, he’s been all over this method and probably knows the ins and outs of it better than most)…but that’s why I’m not sure if it’s a long term viable solution and suggested the first option. The first option should work natively without any workarounds.
For Public apps the sign-in option only supports sign-in with PIN. Is it possible to support google or facebook login inside of PIN. Its annoying for user’s to login via PIN every time.
@Christophe_HK@Jeff_Hager I also built my app originally as Public with email before the sign-in button was released. I tried switching it to Public and the screen is completely blank