| Hi, you can use resource owner password credentials grant which is part of OAuth2 spec: https://github.com/RichardKnop/go-oauth2-server#resource-own... It's basically a login with username and password. If you want a fully fledged identity provider on top of OAuth2 (so create / update user account, password reset), I have a sample project which extends on the oauth2 repository and builds a full identity provider on top of it: https://github.com/RichardKnop/example-api About dependencies: only two are required - etcd/consul and postgres. There is no other requirements. Originally I developed this project while deploying to a CoreOS cluster so etcd was a native choice for storing app configuration in a distributed key store. Consul support was added later in form of a contribution as an alternative to etcd. I also want to remove dependency on etcd/consul completely and allow just simple configuration via environment variables to make the projec more portable. |
I think removing 3rd party dependencies is always a good idea - it keeps things lean and removes ops overhead.