gophergala2016/golin

Name: golin

Owner: gophergala2016

Description: null

Created: 2016-01-23 00:36:31.0

Updated: 2016-01-23 22:55:30.0

Pushed: 2016-01-25 00:59:59.0

Homepage: null

Size: 2722

Language: Go

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

golin

Golin is an approach to create a microservice that allows multiple systems or apps to use authentication without needing to implement it by their own.

The project uses JWT as a way of securing the comunication bewteen the client and the login server. Please refer to the RFC7519 for details (it's included in the links below).

Interfaces and some abstractions were made to make it as generic as possible, this could be changed to use some configuration files or changing the login methods.

This microservice is designed to be scalable since for example, it can be set aside of any API and just coordinate the validation of the tokens and can grow accordingly to the needs of the stack.

GinGonic was used to build the API since it's quick to develop and easy to maintain and debug. Also BoltDB is used to storage Tokens and is designed to have a Blacklist for tokens that are no longer valid because of logout. A library for JWT is also include to create verification and sign methods.

Here are some useful links we read for understanding JWT and some logins procedures:

TODO

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.