{"action":"created","issue":{"url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery/issues/107","repository_url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery","labels_url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery/issues/107/labels{/name}","comments_url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery/issues/107/comments","events_url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery/issues/107/events","html_url":"https://github.com/go-macaroon-bakery/macaroon-bakery/pull/107","id":167090420,"number":107,"title":"bakery, httpbakery: support v2 macaroons and caveat ids.","user":{"login":"rogpeppe","id":66491,"avatar_url":"https://avatars.githubusercontent.com/u/66491?v=3","gravatar_id":"","url":"https://api.github.com/users/rogpeppe","html_url":"https://github.com/rogpeppe","followers_url":"https://api.github.com/users/rogpeppe/followers","following_url":"https://api.github.com/users/rogpeppe/following{/other_user}","gists_url":"https://api.github.com/users/rogpeppe/gists{/gist_id}","starred_url":"https://api.github.com/users/rogpeppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rogpeppe/subscriptions","organizations_url":"https://api.github.com/users/rogpeppe/orgs","repos_url":"https://api.github.com/users/rogpeppe/repos","events_url":"https://api.github.com/users/rogpeppe/events{/privacy}","received_events_url":"https://api.github.com/users/rogpeppe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-07-22T17:10:19Z","updated_at":"2016-07-25T17:13:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery/pulls/107","html_url":"https://github.com/go-macaroon-bakery/macaroon-bakery/pull/107","diff_url":"https://github.com/go-macaroon-bakery/macaroon-bakery/pull/107.diff","patch_url":"https://github.com/go-macaroon-bakery/macaroon-bakery/pull/107.patch"},"body":"This has a bunch of changes which together\r\nmean that the bakery supports binary-encoded\r\nmacaroons and caveat ids. This causes cookie\r\nsizes to drop to around half their previous size (~1600 bytes\r\nto ~800 bytes). That size will continue to drop in subsequent PRs.\r\n\r\nNote that there is still one failing test which will require\r\nan update to httprequest for a fix. Rather than delaying\r\nthis PR further, we intend to land this as an interim branch\r\nand fix the discharge fallback behaviour in the next PR.\r\n\r\nRename PublicKeyLocator to ThirdPartyLocator and make\r\nit convey information on the version of the third party too.\r\n\r\nRemove PublicKeyRing as it's complex and has marginal use.\r\n\r\nUse version 2 macaroons when possible, while staying backwardly\r\ncompatible with old clients and dischargers.\r\n\r\nRemove functions added only because we couldn't change\r\nthe signature of existing functions (e.g. CheckAnyM)\r\n\r\nAdd version arguments to methods where the version is\r\nimportant (e.g. bakery.Service.NewMacaroon).\r\n\r\nAdd version information to local third party caveat\r\nso we know what kind of caveat encoding to use.\r\n\r\nChanged bakerytest.NewDischarger to be more generally\r\nuseful, and added a helper to make it straightforward to\r\nget parsed caveats as before.\r\n\r\nUse httprequest to implement the HTTP discharge handler,\r\nand implement the new endpoints needed to implement\r\nthe ThirdPartyLocator interface."},"comment":{"url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery/issues/comments/235018640","html_url":"https://github.com/go-macaroon-bakery/macaroon-bakery/pull/107#issuecomment-235018640","issue_url":"https://api.github.com/repos/go-macaroon-bakery/macaroon-bakery/issues/107","id":235018640,"user":{"login":"jrwren","id":106443,"avatar_url":"https://avatars.githubusercontent.com/u/106443?v=3","gravatar_id":"","url":"https://api.github.com/users/jrwren","html_url":"https://github.com/jrwren","followers_url":"https://api.github.com/users/jrwren/followers","following_url":"https://api.github.com/users/jrwren/following{/other_user}","gists_url":"https://api.github.com/users/jrwren/gists{/gist_id}","starred_url":"https://api.github.com/users/jrwren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrwren/subscriptions","organizations_url":"https://api.github.com/users/jrwren/orgs","repos_url":"https://api.github.com/users/jrwren/repos","events_url":"https://api.github.com/users/jrwren/events{/privacy}","received_events_url":"https://api.github.com/users/jrwren/received_events","type":"User","site_admin":false},"created_at":"2016-07-25T17:13:25Z","updated_at":"2016-07-25T17:13:25Z","body":"👍  But I must admit this is a lot of code and I feel overwhelmed reviewing it. More eyes might be better."}}
{"actor":{"display_login":"jrwren"}}