Skip to content

Conversation

@kalvinnchau
Copy link
Contributor

move google_drive credentials storage to the keychain

  • default to using the keychain to store the credentials
    • stores it in mcp_google_drive so it does require an additional password input for keychain, wanted to keep it separate from the goose specific keychain but does add an extra step
  • add logic to compare existing oauth config with env, and ensure they match the env setup
  • for headless environments they can set GOOGLE_DRIVE_DISK_FALLBACK=true to attempt to fallback to disk

@lily-de
Copy link
Contributor

lily-de commented Mar 11, 2025

didnt try this in the UI but do you know if there's any special config that needs to change under the hood in the UI?

@@ -0,0 +1,301 @@
use anyhow::Result;
use google_drive3::yup_oauth2::storage::{TokenInfo, TokenStorage};

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just for learning - how did we determine this was a good rust crate to use back when we used google_drive3 for gdrive server? is it kind of like python libraries where you look up the repo description and determine if it looks official/meets your needs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, pretty much, didn't find any official rust sdks for the googleapis, so looked around for one that had the most feature complete / extensible one

@kalvinnchau kalvinnchau force-pushed the kalvin/google-drive-keychain branch from 2c730ec to 9a6d89e Compare March 12, 2025 16:08
@kalvinnchau
Copy link
Contributor Author

didnt try this in the UI but do you know if there's any special config that needs to change under the hood in the UI?

tested via the ui and nothing changed from what i could see

@kalvinnchau kalvinnchau merged commit 22c8b32 into main Mar 12, 2025
6 checks passed
@kalvinnchau kalvinnchau deleted the kalvin/google-drive-keychain branch March 12, 2025 16:28
kalvinnchau added a commit that referenced this pull request Mar 12, 2025
* main:
  feat(google_drive): move credentials into keychain, add optional fallback (#1603)
  feat: add session list command in cli (#1586)
sheagcraig added a commit to sheagcraig/goose that referenced this pull request Mar 12, 2025
* upstream/main:
  feat(google_drive): move credentials into keychain, add optional fallback (block#1603)
  feat: add session list command in cli (block#1586)
  feat: google sheets support (in google drive builtin MCP server) (block#1601)
  fix: deep link opening when window is closed (block#1633)
  docs: edits to docker guide (block#1639)
  feat: ollama tool shim (block#1448)
  feat: add write approve mode (block#1628)
  ui: auto update card upon config (block#1610)
  fix: fix tool output expansion checks (block#1634)
  fix: remove conditional that breaks output display for tool calls (block#1631)
  docs: Persistent Command History (block#1627)
  change to make build work on windows, macos, linux (block#1618)
  chore(release): release version 1.0.13 (block#1623)
  fix: handle mac screenshots with the image tool (block#1622)
  feat: write eval results to eval dir (block#1620)
  [fix] fix model config logging to remove api key (block#1619)
  fix: ensure repeating benches return to initial run-dir (block#1617)
cbruyndoncx pushed a commit to cbruyndoncx/goose that referenced this pull request Jul 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants