Add support for externally provided refresh tokens.

OAuth token cache file (as implemented by oauth2client library) stores refresh
token and can in theory be deployed via Puppet as the credential. But it is
mutated by the library (to store access tokens, rotated each hour), and so it is
not static and managing it via Puppet (or however else) is a big pain.

Instead, now depot_tools accepts --auth-refresh-token-json parameter with a path
to a static JSON file (with minimal body being {"refresh_token": "....."}). It
can be used to pass previously prepared refresh tokens of role accounts. It
will be used for blink DEPS roller account and similar @chromium.org accounts.

R=maruel@chromium.org
BUG=356813

Review URL: https://codereview.chromium.org/1060193005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294870 0039d316-1c4b-4281-b951-d872f2087c98
2 files changed
tree: 83ac7316d57d58bf47c24dc83ff73db9de0d4f77
  1. bootstrap/
  2. git-templates/
  3. git_utils/
  4. man/
  5. recipes/
  6. support/
  7. testing_support/
  8. tests/
  9. third_party/
  10. win_toolchain/
  11. zsh-goodies/
  12. .gitignore
  13. annotated_gclient.py
  14. apply_issue
  15. apply_issue.bat
  16. apply_issue.py
  17. auth.py
  18. breakpad.py
  19. checkout.py
  20. chrome-update-create-task.bat
  21. chrome-update.bat
  22. chrome-update.py
  23. clang-format
  24. clang-format.bat
  25. clang_format.py
  26. codereview.settings
  27. commit_queue.py
  28. cpplint.bat
  29. cpplint.py
  30. cpplint_chromium.py
  31. create-chromium-git-src
  32. create-ntfs-junction.c
  33. create-ntfs-junction.exe
  34. dart_format.py
  35. depot-tools-auth
  36. depot-tools-auth.bat
  37. depot-tools-auth.py
  38. download_from_google_storage
  39. download_from_google_storage.bat
  40. download_from_google_storage.py
  41. drover
  42. drover.bat
  43. drover.py
  44. fetch
  45. fetch.bat
  46. fetch.py
  47. fix_encoding.py
  48. gcl
  49. gcl.bat
  50. gcl.py
  51. gclient
  52. gclient-new-workdir.py
  53. gclient.bat
  54. gclient.py
  55. gclient_completion.sh
  56. gclient_scm.py
  57. gclient_utils.py
  58. gerrit_util.py
  59. git-auto-svn
  60. git-cache
  61. git-cherry-pick-upload
  62. git-cl
  63. git-cl-upload-hook
  64. git-crrev-parse
  65. git-crsync
  66. git-crup
  67. git-footers
  68. git-freeze
  69. git-gs
  70. git-lkgr
  71. git-map
  72. git-map-branches
  73. git-mark-merge-base
  74. git-nav-downstream
  75. git-nav-upstream
  76. git-new-branch
  77. git-number
  78. git-rebase-update
  79. git-rename-branch
  80. git-reparent-branch
  81. git-retry
  82. git-runhooks
  83. git-squash-branch
  84. git-thaw
  85. git-try
  86. git-upstream-diff
  87. git_auto_svn.py
  88. git_cache.py
  89. git_cherry_pick_upload.py
  90. git_cl.py
  91. git_common.py
  92. git_footers.py
  93. git_freezer.py
  94. git_map.py
  95. git_map_branches.py
  96. git_mark_merge_base.py
  97. git_nav_downstream.py
  98. git_new_branch.py
  99. git_number.py
  100. git_rebase_update.py
  101. git_rename_branch.py
  102. git_reparent_branch.py
  103. git_retry.py
  104. git_squash_branch.py
  105. git_try.py
  106. git_upstream_diff.py
  107. gn
  108. gn.bat
  109. gn.py
  110. gsutil.py
  111. hammer
  112. hammer.bat
  113. LICENSE
  114. my_activity.py
  115. my_reviews.py
  116. ninja
  117. ninja-linux32
  118. ninja-linux64
  119. ninja-mac
  120. ninja.exe
  121. OWNERS
  122. owners.py
  123. owners_finder.py
  124. patch.py
  125. PRESUBMIT.py
  126. presubmit_canned_checks.py
  127. presubmit_support.py
  128. profile.xml
  129. pylint
  130. pylint.py
  131. pylintrc
  132. python_git_runner.sh
  133. README
  134. README.codereview
  135. README.gclient
  136. README.git-cl
  137. README.testing
  138. repo
  139. rietveld.py
  140. roll-dep
  141. roll-dep.bat
  142. roll_dep.py
  143. scm.py
  144. subcommand.py
  145. subprocess2.py
  146. trychange.py
  147. update_depot_tools
  148. update_depot_tools.bat
  149. upload_to_google_storage.py
  150. WATCHLISTS
  151. watchlists.py
  152. weekly
  153. wtf