Skip to content

Conversation

@jamadeo
Copy link
Collaborator

@jamadeo jamadeo commented Aug 11, 2025

When doing the oauth dance with rmcp, save the credentials to the keyring so you don't repeat this every time.

fixes #3545

@jamadeo jamadeo changed the title feat: Persist oauth credentials feat: Persist OAuth credentials to keyring Aug 11, 2025
@jamadeo jamadeo requested a review from alexhancock August 12, 2025 13:26
@jamadeo jamadeo changed the title feat: Persist OAuth credentials to keyring feat(mcp): Persist OAuth credentials to keyring Aug 12, 2025

let value = serde_json::to_value(&credentials)?;
let key = secret_key(name);
config.set_secret(&key, value)?;
Copy link
Collaborator

Choose a reason for hiding this comment

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

how long are the credentials typically valid? maybe I am missing it but shouldn't there be a ttl for the data we store via keyring?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yeah they'll have an expiry, but that should be handled by the oauth mechanism anyway -- it might need to be refreshed after getting loaded but that should be fine

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Tested it out with an expired credential and indeed there was a bug! Added a call to refresh on load.

@jamadeo jamadeo merged commit a789396 into main Aug 15, 2025
10 checks passed
@jamadeo jamadeo deleted the jackamadeo/persist-oauth branch August 15, 2025 18:01
zanesq added a commit that referenced this pull request Aug 15, 2025
…ackages

* 'main' of github.com:block/goose:
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
jsibbison-square added a commit that referenced this pull request Aug 18, 2025
…ol-visibility

* origin/main: (26 commits)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  E2E tests working again (#4103)
  chore: Delete ARCHITECTURE.md (#4108)
  Add Youtube short to Kiwi MCP tutorial (#4107)
  docs: fix experimental warning (#4102)
  fix not being able to add spaces to activity message area (#4055)
  remove and cleanup unused code (#4074)
  docs: Add missing references to smart_approve mode. (#4094)
  quick typo fix pulse blog (#4095)
  fix: update dictation settings handling and improve user feedback (#4093)
  chore: add info tooltip to share session button (#4038)
  Reroute routes (#4088)
  fix(cli): fix compiling issue on windows system by adding a missing param (#4019)
  ...
katzdave added a commit that referenced this pull request Aug 18, 2025
…-messaging

* 'main' of github.com:block/goose: (26 commits)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  E2E tests working again (#4103)
  chore: Delete ARCHITECTURE.md (#4108)
  Add Youtube short to Kiwi MCP tutorial (#4107)
  ...
michaelneale added a commit that referenced this pull request Aug 19, 2025
* main: (67 commits)
  blog: Transforming AI Assistance with Goose Mentor Mode (#4151)
  upgraded all npm packages and fixed related issues (#4072)
  Docs: @-mentions in goosehints (#4171)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  ...
michaelneale added a commit that referenced this pull request Aug 19, 2025
* main: (67 commits)
  blog: Transforming AI Assistance with Goose Mentor Mode (#4151)
  upgraded all npm packages and fixed related issues (#4072)
  Docs: @-mentions in goosehints (#4171)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  ...
ayax79 pushed a commit to ayax79/goose that referenced this pull request Aug 21, 2025
Signed-off-by: Jack Wright <jack.wright@nike.com>
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.

OAuth flow repeated for every chat

2 participants