{"repo":"earaujoassis/space","free":true,"listed":false,"github":"https://github.com/earaujoassis/space","clone":"git clone https://github.com/earaujoassis/space.git","description":"🚀 A user management microservice; OAuth 2.0 and OIDC provider","language":"Go","stars":17,"topics":["oauth2","oauth2-server","oauth2-provider","golang-application","golang-server","user-management","oidc","oidc-provider","oidc-server"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Space A user management microservice; OAuth 2.0 and OIDC provider Space (formerly known as Jupiter) is a user authentication and authorisation microservice intended to be used across multiple client applications. Currently, it's used to provide OAuth 2 authorisation for the earaujoassis/wallet and earaujoassis/watchman projects. Though it is not intended to be used widely, it can be used as a reference implementation of a Golang-based OAuth 2 provider. It uses Gin as the Web Framework and GORM for Golang's structure&ndash;relational mapping. Redis is used as a memory store to keep track of users' atomic and ephemeral actions (like the whole authorisation process under the \"Authorization Code Grant\" method, described in RFC 6749, section 4.1). For the user's authentication process, it is mandatory to use Two-factor authentication (Time-based One-time Password). Additionally, the application supports the use of Hashicorp's Vault in order to obtain configuration information and secrets. It is planned to use Vault as a way to store client keys and secrets, if the OAuth client application supports it. It is not planned to implement all authorisation methods described in RFC 6749 but section 4.1 only, \"Authorization Code Grant\". As OAuth 2.1 is under draft, and following RFC 7636 \"Proof Key for Code Exchange by OAuth Public Clients\", RFC 9700 \"Best Current Practice for OAuth 2.0 Security\", and the drafts for OAuth 2.1 and \"OAuth 2.0 for Browser-Based Applications\", the methods for ","default_branch":null,"files":null,"tree":[],"storefront":"/r/earaujoassis","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/earaujoassis/space/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}