)]}'
{
  "commit": "10bd9fbecd462435246afa46fd666a2836cd9e89",
  "tree": "026f506af491a822afd5351df107c2aa1cd0a5ee",
  "parents": [
    "a37ff00d7afd6c7aac2d0fab29e05708bbc068be"
  ],
  "author": {
    "name": "bojeil-google",
    "email": "bojeil-google@users.noreply.github.com",
    "time": "Thu Sep 30 23:19:51 2021 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Sep 30 23:19:51 2021 -0700"
  },
  "message": "fix: ADC with impersonated workforce pools (#877)\n\nWhile service account impersonation is uncommonly used with workforce\r\npool external credentials, there is a bug where the following commands\r\nraise exceptions when impersonated workforce pools are used:\r\n\r\n- `google.auth.default()`\r\n- `google.auth.load_credentials_from_file()`\r\n\r\nThe issue is due to `google.auth.aws.Credentials` not supporting the\r\n`workforce_pool_user_project` argument in the constructor, unlike\r\n`google.auth.identity_pool.Credentials`.\r\n\r\nThis was indirectly passed here:\r\nhttps://github.com/googleapis/google-auth-library-python/blob/a37ff00d7afd6c7aac2d0fab29e05708bbc068be/google/auth/external_account.py#L395\r\nCausing a TypeError to be raised (we only catch ValueError).\r\n\r\nUpdated the credential determination logic to explicitly check the\r\nsubject token type. This is a more reliable indicator instead of a\r\ntry/catch.\r\n\r\nIncreased unit test coverage in tests/test__default.py to cover these\r\ncredentials.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d4ccbc6ec530a09f7da5b630eaf93f20e6bfc2b6",
      "old_mode": 33188,
      "old_path": "google/auth/_default.py",
      "new_id": "8b0573bc8a55a5741fdf83da6766ff597e3eb8d4",
      "new_mode": 33188,
      "new_path": "google/auth/_default.py"
    },
    {
      "type": "modify",
      "old_id": "c70ceaa57da3cd51805e7a4ed832119afc1fb09c",
      "old_mode": 33188,
      "old_path": "tests/test__default.py",
      "new_id": "1ce03cfe832a3046b3d7afbe73484022784a138f",
      "new_mode": 33188,
      "new_path": "tests/test__default.py"
    }
  ]
}
