Keycloak
Keycloak is an Identity and Access Management solution. Written in Java, it's a good self-hosted solution to manage your users and their access to your applications.
Keycloak was the previous solution i used to manage my users and their access to my applications. The only reason i got out of Keycloak was the fact that it's written in Java. I prefer to use Go for my applications and i wanted to have a full Go stack (well since that time i moved to Rust) for my applications.