{"repo":"eclipse-biscuit/biscuit-rust","free":true,"listed":false,"github":"https://github.com/eclipse-biscuit/biscuit-rust","clone":"git clone https://github.com/eclipse-biscuit/biscuit-rust.git","description":"Rust implementation of the Biscuit authorization token","language":"Rust","stars":244,"topics":["authentication","authorization","token"],"license":null,"category":"auth-billing-email","readme_excerpt":"Eclipse Biscuit authentication and authorization token Eclipse Biscuit is an authorization token for microservices architectures with the following properties: - decentralized validation: any node could validate the token only with public information; - offline delegation: a new, valid token can be created from another one by attenuating its rights, by its holder, without communicating with anyone; - capabilities based: authorization in microservices should be tied to rights related to the request, instead of relying to an identity that might not make sense to the authorizer; - flexible rights managements: the token uses a logic language to specify attenuation and add bounds on ambient data; - small enough to fit anywhere (cookies, etc). Non goals: - This is not a new authentication protocol. Biscuit tokens can be used as opaque tokens delivered by other systems such as OAuth. - Revocation: while tokens come with expiration dates, revocation requires external state management. Usage In this example we will see how we can create a token, add some checks, serialize and deserialize a token, append more checks, and validate those checks in the context of a request: Concepts blocks A Biscuit token is made with a list of blocks defining data and checks that must be validated upon reception with a request. Any failed check will invalidate the entire token. If you hold a valid token, it is possible to add a new block to restrict further the token, like limiting access to one particul","default_branch":null,"files":null,"tree":[],"storefront":"/r/eclipse-biscuit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/eclipse-biscuit/biscuit-rust/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."}