Skip to content

Distributed Web Security with Macaroons (KopDar Python Presentation)

License

Notifications You must be signed in to change notification settings

id-python/macaroons-kopdar

 
 

Repository files navigation

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.

About

Distributed Web Security with Macaroons (KopDar Python Presentation)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published