Skip to content
This repository has been archived by the owner on Jan 6, 2024. It is now read-only.

albertodonato/macaroon-identity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sample macaroon-based identity service

Build status Go Report Card GoDoc

A sample identity service based on macaroon using the "form" authentication mechanism with user/password based on a CSV file.

It provides two binaries:

  • macaroon-identity: server providing form-based authentication with user/password
  • test-macaroon-identity: a sample executable which features a client connecting to a service which requires authentication through a third-party authentication service (which is effectively macaroon-identity).

NOTE: the macaroon-identity server is meant as a sample service and not intended for any production use.

Install

With a GOPATH set, run

go get -v github.com/albertodonato/macaroon-identity/...

Run tests

To run tests, first install test dependencies with:

 go get -v -t github.com/albertodonato/macaroon-identity/...

then

 go test github.com/albertodonato/macaroon-identity/...

Running

The server needs a CSV file containing credentials in the form username,password,groups.

The groups column is a space-separated list of groups that the user is part of and it's optional.

echo 'user1,pass2,grp1 grp2' > credentials.csv
$GOPATH/bin/macaroon-identity

By default the server endpoint is http://localhost:8081.

Testing a request

The test-macaroon-identity command starts the identity service and a test service which responds to GET / requests , requiring authentication through the identity service.

If -auth-username and -auth-password options are passed, the command also issues a request to the target service, to test the authentication process.

About

Sample macaroon-based identity service

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages