Hi!
I am an embedded systems guy so this is new territory for me. I want to be able to host my own userbase somewhere, mainly I just want to figure out how they work. But all i can find are closed solutions that have some amount of pricing or are obscured. I also feel like it’d be wrong to re-write something like this myself.
I’ve tried googling around a bit but keep getting similar results so I am assuming I am asking the wrong question. What I want: Ideally some kind of dockerized setup where a user can navigate to a website to create an account, which I can then query through php or some other API. Stuff like password reset or stripe would be nice but is secondary as that can most likely be added another way.
I found stuff like usernbase which seems interesting and even includes something like subscriptions, but I’d like to self host it and not rely on something like the AWS.
Ideally I want to get OAUTH2.0 to work as well, to learn how exactly it works.
Any pointers would be greatly appreciated!
I use OpenLDAP for my source of truth (user base) and have Authelia configured to use that for users.
Authelia supports acting as an OIDC provider as well as an auth source for apps I host behind Nginx.
For apps that support LDAP, they’re plumbed directly in to that and apps using more modern auth schemes (or apps that don’t support either OIDC/LDAP) are protected by Authelia - they use the same userbase in LDAP.
OpenLDAP isn’t easy, though, so you might want to look at something like FreeIPA or 389 Directory Server instead.
https://github.com/lldap/lldap is a good alternative that’s easy to setup.
I’ve looked at that, but not lately. Last I checked, it was kind of pseudo-LDAP and only really focused on user authentication. I can’t read through it now, but will check it out later. For OP’s purposes, though, yeah, that should do nicely as a user base for Authelia.
My LDAP server also backs my DHCP, DNS, SMTP/IMAP, SIP, and a few other things beyond user auth, so I kind of need a full LDAP server. The good thing is once you get OpenLDAP setup (and get a good grasp of the
cn=config
schema), it’s pretty easy to manage with Apache Directory Studio. Getting to that point, though, lol, is quite a mountain to climb.