-
Notifications
You must be signed in to change notification settings - Fork 2.6k
feat(google_drive): use oauth2 crate for PKCE support, make token storage generic over Serializable #1645
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
feat: use exchange_refresh_token method instead of manual impl
use interior mutability using Arc<Mutex<>> for refresh_token ensure credentials persist between requests and preventing repeated authentication prompts after successful authorization
style: refactor for readability and comments
rename token_storage to storage since it is generic enough
…ken> simplify logic and remove in memory refresh token, add expiration check to reuse any valid tokens
… to mod.rs this allows easy re-use of storage.rs, and keeps all google_drive specific variables in the mod.rs file test: add basic storage tests
0bd34a0 to
30ab2a5
Compare
|
|
||
| /// CredentialsManager handles secure storage of OAuth credentials. | ||
| /// It attempts to store credentials in the system keychain first, | ||
| /// with fallback to file system storage if keychain access fails and fallback is enabled. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥇
fa6649b to
30ab2a5
Compare
* origin/main: (29 commits) ui: reorganize extensions settings (#1702) feat: google_drive write tools and read comment tool (#1650) fix: developer builtin name (#1699) chore: update extensions section to work with new endpoints (#1696) chore: move things around (#1662) ui: extensions state updates (#1674) docs: goose ollama blog, updated (#1691) ui: load builtins (#1679) chore(release): release version 1.0.14 (#1676) Revert "feat: handling larger more complex PDF docs (and fix) (#1663)" (#1675) fix: uvshim default to existing uv configuration (#1670) fix: handle interruptions during tool responses (#1651) feat: Copy error message button in toast (#1658) feat: handling larger more complex PDF docs (and fix) (#1663) Add Filesystem Tutorial (#1666) docs: figma blog post (#1647) docs: updating goose modes doc (#1665) docs: Add running tasks guide (#1626) docs: Add experimental features (#1644) feat(cli): add better error message, support stdin via -i - or just no args (#1660) ...
wendytang
reviewed
Mar 15, 2025
wendytang
reviewed
Mar 15, 2025
wendytang
reviewed
Mar 15, 2025
wendytang
approved these changes
Mar 15, 2025
laanak08
added a commit
that referenced
this pull request
Mar 16, 2025
* main: (31 commits) feat: add default metrics for core evals (#1602) feat(google_drive): use oauth2 crate for PKCE support, make token storage generic over Serializable (#1645) ui: reorganize extensions settings (#1702) feat: google_drive write tools and read comment tool (#1650) fix: developer builtin name (#1699) chore: update extensions section to work with new endpoints (#1696) chore: move things around (#1662) ui: extensions state updates (#1674) docs: goose ollama blog, updated (#1691) ui: load builtins (#1679) chore(release): release version 1.0.14 (#1676) Revert "feat: handling larger more complex PDF docs (and fix) (#1663)" (#1675) fix: uvshim default to existing uv configuration (#1670) fix: handle interruptions during tool responses (#1651) feat: Copy error message button in toast (#1658) feat: handling larger more complex PDF docs (and fix) (#1663) Add Filesystem Tutorial (#1666) docs: figma blog post (#1647) docs: updating goose modes doc (#1665) docs: Add running tasks guide (#1626) ...
ahau-square
pushed a commit
that referenced
this pull request
May 2, 2025
…rage generic over Serializable (#1645)
cbruyndoncx
pushed a commit
to cbruyndoncx/goose
that referenced
this pull request
Jul 20, 2025
…rage generic over Serializable (block#1645)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
feat(google_drive): use oauth2 crate for PKCE support, make token storage generic over Serializable
oauth2crate instead ofyup-oauth2sinceoauth2has builtin support for PKCE https://crates.io/crates/oauth2oauth_pkce.rsfile to handle the oauth logic and implementGetTokenso we can pass it directly to thedriveandsheetstructstoken_storage.rstostorage.rsand make it more generic with arguments in constructors rather than hard codedT: Serializable/DeserializeOwnedso it can be re-used if needed