# README
Pluto
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.
Setup
Environments
- Go: >1.13, <=1.16
- Database: MySQL 5.7 or later
Go version
Error occoured while go version is later than 1.16.
panic: qtls.ClientHelloInfo doesn't match
goroutine 1 [running]:
github.com/marten-seemann/qtls-go1-15.init.0()
/go/pkg/mod/github.com/marten-seemann/[email protected]/unsafe.go:20 +0x132
Deployment
# install sqlboiler
$ go install -v github.com/volatiletech/[email protected]
$ go install -v github.com/volatiletech/sqlboiler/drivers/[email protected]
$ git clone ...
# start mysql and create `pluto` database
$ make migrate-binary-build
# run migrations
$ ./bin/pluto-migrate
# build server
$ make server-binary-build
# start server
$ pluto-server
Main Features
- User registration / login
- Oauth2 APIs
- JWT-based authorization
- Role-based access control (RBAC)
- Admin page link
Getting started
The Installation doc have a guide on how to setup the Pluto server via Docker images, Kubernetes or from source.
Documents
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.
Docker image
https://hub.docker.com/repository/docker/mushare/pluto
Contribute
Feel free to fire an issue or send a pull request.
License
MIT License, see LICENSE
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author