Skip to content

An JWT based authentication & authorization service designed for microservices

License

Notifications You must be signed in to change notification settings

Yet-Another-AI-Project/pluto

 
 

Repository files navigation

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.20
  • Database: MySQL >= 5.7

Development

# 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

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.

License

MIT License, see LICENSE

About

An JWT based authentication & authorization service designed for microservices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 60.0%
  • HTML 39.4%
  • Other 0.6%