Pluto is a JWT based authorization/authentication service. Besides providing a basic user registration and login feature, Pluto also provides a RBAC management to control the user's permission. Pluto implements the OAuth2 specified APIs for authorization.
- Go: >= 1.20
- Database: MySQL >= 5.7
# install sqlboiler
$ go install -v github.com/volatiletech/sqlboiler
$ go install -v github.com/volatiletech/sqlboiler/drivers/sqlboiler-mysql
# start mysql and create `pluto` database
$ make migrate-binary-build
# run migrations
$ ./bin/pluto-migrate --config.file=config.json
# build server
$ make server-binary-build
# start server
$ ./bin/pluto-server --config.file=config.json- User registration / login
- Oauth2 APIs
- JWT-based authorization
- Role-based access control (RBAC)
- Admin page link
The Installation doc have a guide on how to setup the Pluto server via Docker images, Kubernetes or from source.
All documents can be found in /docs
Here are some helpful documents for reading.
- API Document
- Oauth2
- Configuration
- Replace Views is a guide for replacing the default html pages with your own custom files
- JWT Token gives an introduction of the JWT design in Pluto.
- WeChat Login gives an introduction of signing in with WeChat QRCode.
MIT License, see LICENSE