)]}'
{
  "commit": "e0df73aab852fc7ea6f9f2620bed0d596a77c1b8",
  "tree": "ef59143cd894f643290576bd46c083e7fb1dc8a4",
  "parents": [
    "131b889d1874954196791ce1c380e4ee683d2e66"
  ],
  "author": {
    "name": "Vitaly Buka",
    "email": "vitalybuka@google.com",
    "time": "Tue Dec 22 16:50:22 2015 -0800"
  },
  "committer": {
    "name": "Vitaly Buka",
    "email": "vitalybuka@google.com",
    "time": "Wed Dec 23 01:55:03 2015 +0000"
  },
  "message": "Switch to macaroon library to generate and parse access tokens\n\nWe need access tokens to store signed time, user id and scope.\nMacaroon library provides exactly this functionality. So we can reuse\nthat and remove some of our generating/parsing code.\n\nAccess token is not expected to be parsed by clients. Client can\u0027t\nremove caveats from macaroon. Adding new caveats is possible, but code\nwill reject such extended tokens because number of caveat was changed.\n\nChange-Id: I3f3a4a972cad061fe6ac75eb906a5b299e75d13d\nReviewed-on: https://weave-review.googlesource.com/2084\nReviewed-by: Vitaly Buka \u003cvitalybuka@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7306e203b89ea69c214e60693596b262e014c5d9",
      "old_mode": 33188,
      "old_path": "src/privet/auth_manager.cc",
      "new_id": "8373a7e4395f8c8f3ec0ecee2e03b0f5cdaf35c9",
      "new_mode": 33188,
      "new_path": "src/privet/auth_manager.cc"
    },
    {
      "type": "modify",
      "old_id": "ce142c02a77702d9bf8826b5799537cc91933e9c",
      "old_mode": 33188,
      "old_path": "src/privet/auth_manager_unittest.cc",
      "new_id": "70750adb0404b1a29713cf286e51c1d2e640b00f",
      "new_mode": 33188,
      "new_path": "src/privet/auth_manager_unittest.cc"
    }
  ]
}
