An Identity, OpenID Connect, and OAuth2 Provider.
- Multirepo miroservices.
- Clean architecture.
- Domain driven development.
- Event driven architecture.
- Database: gorm, go-migrate, postgreSQL, redis.
- Storage: minio.
- Mux: go-chi.
- RPC: gRPC.
- Docs: swaggo.
- Container: Docker.
- Deployment: Docker compose.
- oauth2 service: handles the OAuth2 authorization flows.
- oauth2 client service: manages OAuth2 clients.
- user service: manages user.
- file service: validates file policy, uploads file, and manages uploaded files.
-
OAuth2 Provider with:
- Authorization Code Flow *completed*.
- Authorization Code Flow With PKCE *completed*.
- Implicit Flow.
- Resource Owner Password Credentials Flow *completed*.
- Client Credentials Flow *completed*.
- Refresh Token Flow *completed*.
- Device Flow (low priority).
-
Support Open ID Connect.
-
Allow integrate with external Identity/OAuth2 Provider *completed*.
-
Support authenticate microservices by OAuth2.
-
Rate limiter.
- 100M users.
- 1M new users per day.
- 10M OAuth2 requests per day.