Skip to content

Latest commit

 

History

History
79 lines (55 loc) · 2.77 KB

README.md

File metadata and controls

79 lines (55 loc) · 2.77 KB

Pluto

Build Status Go Report Card Gitter

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.

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