Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cryptosphere/macaroons-rs
Macaroons: bearer credentials with caveats for distributed authorization
https://github.com/cryptosphere/macaroons-rs
cookie credentials macaroons token
Last synced: 2 days ago
JSON representation
Macaroons: bearer credentials with caveats for distributed authorization
- Host: GitHub
- URL: https://github.com/cryptosphere/macaroons-rs
- Owner: cryptosphere
- License: mit
- Archived: true
- Created: 2015-01-31T19:53:11.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-02-10T10:16:53.000Z (over 7 years ago)
- Last Synced: 2024-10-31T11:44:47.384Z (7 days ago)
- Topics: cookie, credentials, macaroons, token
- Language: Rust
- Size: 80.1 KB
- Stars: 60
- Watchers: 8
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# Macaroons (for Rust!) [![Latest Version][crate-image]][crate-link] [![Build Status][build-image]][build-link] [![Apache 2 licensed][license-image]][license-link]
[crate-image]: https://img.shields.io/crates/v/macaroons.svg
[crate-link]: https://crates.io/crates/macaroons
[build-image]: https://travis-ci.org/cryptosphere/macaroons-rs.svg?branch=master
[build-link]: https://travis-ci.org/cryptosphere/macaroons-rs
[license-image]: https://img.shields.io/badge/license-MIT-blue.svg
[license-link]: https://github.com/cryptosphere/macaroons-rs/blob/master/LICENSEA better kind of cookie.
Macaroons are a bearer credential format built around "caveats", i.e. conditions
that must hold for a particular credential to be authorized. Using neat crypto
tricks, anyone holding a Macaroon can add more caveats to a Macaroon, but once
caveats are added they cannot be removed.http://macaroons.io
### Is it any good?
[Yes.](http://news.ycombinator.com/item?id=3067434)
### Is it "Production Ready™"?
The library is ready for eager early adopters. If you're using Rust, you're
probably one of those anyway.The following features have been implemented:
* Creating Macaroons
* Verifying Macaroons
* First-party caveats
* Third-party caveats
* Serializing to base64url-encoded binary format
* Deserializing base64url-encoded Macaroons
* Verifying first-party caveatsThe following features still need to be implemented:
* Discharge macaroons
* Verifying third-party caveatsAdditional planned work:
* Nom-based parser (may require API changes)
## V2 Format Support
[The Macaroons format is changing!](https://groups.google.com/forum/#!msg/macaroons/EIDUZQoelq8/KnbVukmGBQAJ)
A specification for a new, more compact "V2" format has been published.
This library has begun to implement it. In the process, the API is changing
so that it can support both the old and new formats.Pardon our dust.
## Help and Discussion
Interested in Macaroons? Join the Macaroons Google Group:
https://groups.google.com/forum/#!forum/macaroons
You can also join by email by sending an email message here:
[[email protected]](mailto:[email protected])
We're also on IRC at #macaroons on irc.freenode.net.
## Usage
Coming soon!
## Additional Reading
* [Macaroons: Cookies with Contextual Caveats for Decentralized Authroization in the Cloud](https://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/41892.pdf)
## License
Copyright (c) 2015-2016 Tony Arcieri. Distributed under the MIT License.
See LICENSE.txt for further details.