Hey everyone,
I'm excited to share an update about Soul, an open source project I created that acts as a RESTful and realtime server for SQLite databases.
Soul makes it incredibly simple to add a backend to any project - just give it a SQLite database file and it will instantly serve up CRUD endpoints without any additional configuration. When I first launched Soul a while back, its core functionality was just this.
A few months ago, one of Soul's long time contributors approached me about adding authentication and authorization capabilities. We worked together to design an ACL system, and they implemented it. I'm pleased to share that Soul now has robust user authentication and role-based access control built right in.
The authentication works by defining "roles" that map tables to permitted CRUD operations. These roles can then be assigned to users. This allows you to easily control which users have create, read, update or delete access to specific tables. It couldn't be much simpler to set up authorization for your SQLite APIs.
I'm grateful for the contributions that have helped Soul grow. Please check it out at https://github.com/thevahidal/soul to see these new features in action and get started with your own minimal backend. The project is actively developed and I welcome any feedback on how Soul can better serve developers. I hope Soul continues to lower the barriers to adding secure REST and realtime capabilities to projects.
Cheers, Al.