Fazendo Autenticação e Autorização da maneira correta - OpenID Connect
O jeito mais moderno de se fazer autenticação e autorização em softwares é através do protocolo OpenID Connect.
Na prática aconece o seguinte:
De um lado temos um OpenID Connect Server que guarda as senhas e as permissões de cada usuário e grupo.
Do outro lado temos um OpenID Connect Client ou um OAuth 2.0 Client, que se comunica com o servidor para descobrir o que um usuário pode ou não pode fazer.
Você pode criar seu OpenID Connect Server na sua linguagem favorita com a ajuda dessas bibliotecas certificadas pela fundação OpenID Connect.
Ou você pode usar essas opções de um serviço de OpenID Connect Server em Nuvem (as a service) já pronto tipo Okta ou Auth0.
Ou você pode instalar e usar, isolado em uma máquina local ou nuvem, um software que implemente o OpenID Connect Server tipo Keycloak, Gluu ou Red Hat Single Sign-On.
Para se comunicar com um OpenID Connect Server na sua linguagem favorita use uma dessas bibliotecas certificadas de OpenID Connect Client.