Hi all, I wanted to share something I’ve built in Wappler and made open source (MIT License).
I’m a developer that builds web apps for private clients. Wappler has been the backbone of my development workflow for the last 12 months. Along the way I’ve built various tools to accelerate my app development. I figured some of these tools would be useful for others and so am in the process of packaging them up for sharing (some for free, some commercially). Recently, I built a set of reusable user authentication screens and endpoints, which I’ve utilized in several projects. I’ve made this project open source, in the hope that others may use it and potentially contribute back to it.
I’ve called the project ‘userauth’ and here’s some of the capability it offers:
- Login screen
- Register screen
- Password change screen
- Password reset screen
- Administrator management screen (just a basic one at the moment)
- Optional mail sending for user registration and password resets
- Optional reCAPTCHA for all input forms
- Logging of all authentication activity
- Automated (and secure) set up of database tables on first attempted login
It uses the MIT License which means you’re free to do whatever you want with it: https://tldrlegal.com/license/mit-license
Here’s a video tutorial that shows how to set it up: https://youtu.be/tFGXziLDf2I
Here’s the GitHub repo, you can also raise bugs and features here: https://github.com/impress-dev/userauth
Info:
- It still needs a lot of testing, so expect to find bugs (though please do report them via GitHub)
- The install & update scripts have only been tested on a Mac
- There’s no release branching strategy, this means there could be breaking updates in the future should things like database tables need tweaking. If anyone can suggest a good (and easy) branching strategy that would work nicely while still maintaining a user-friendly approach with the install/update scripts then I’m listening
- You are welcome to contribute to the project should you have the time & desire
- If a better alternative to this already exists then let me know and I’ll swap to using the better one
If you have any questions, then feel free to ask.