Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 1.87 KB

README.md

File metadata and controls

37 lines (28 loc) · 1.87 KB

Distributed Web Security with Macaroons

Overview

This is a presentation given for the KopDar Python Meetup held at IceHouse offices in Jakarta, Indonesia on 21-June-2014.

The presentation is intended to provide a brief introduction to macaroons for creating distributed credentials.

The included Python source code provides the steps necessary to leverage libmacaroons to:

  • create a simple macaroon
  • inspecting a macaroon
  • serialize a macaroon into a token
  • deserializing a token into a macaroon
  • validating a macaroon signature
  • attentuate a macaroon by adding first-party caveats by the service
  • validating the presence of caveats in a token received by the service
  • attentuate a macaroon from outside of the originating service layer

This presentation only offers a basic coverage of the much more complete functionality and documentation offered at the libmacaroons repository. Further details about the concepts behind macaroons are available in the original research paper.

Contents

  • Presentation Slides (in go.tools present format)
  • Installation script for libmacaroons (Debian/Ubuntu only)
  • Python Source Code

Installing / Running

To run the source code, you will need to install libmacaroons.

You will also need a recent version of Python 2.x (such as Python 2.7+) installed.

To run the presentation itself, you will need Go version 1+ and go.tools/present installed.

If you already have Go installed, running ./start-slideshow.sh will first attempt to install the go.tools/present package, then launch the localhost web app used by present and finally open the default web browser to the local presentation URL.