Skip to content

fix: Google Sheets returns 403 PERMISSION_DENIED after completing OAuth#1164

Merged
zmanian merged 8 commits intostagingfrom
fix/sheets-permission-denied
Mar 14, 2026
Merged

fix: Google Sheets returns 403 PERMISSION_DENIED after completing OAuth#1164
zmanian merged 8 commits intostagingfrom
fix/sheets-permission-denied

Conversation

@nickpismenkov
Copy link
Copy Markdown
Collaborator

Summary

Change Type

  • Bug fix
  • New feature
  • Refactor
  • Documentation
  • CI/Infrastructure
  • Security
  • Dependencies

Linked Issue

Validation

  • cargo fmt
  • cargo clippy --all --benches --tests --examples --all-features
  • Relevant tests pass:
  • Manual testing:

Security Impact

Database Impact

Blast Radius

Rollback Plan


Review track:

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@github-actions github-actions Bot added scope: tool/wasm WASM tool sandbox scope: ci CI/CD workflows size: XL 500+ changed lines risk: medium Business logic, config, or moderate-risk modules contributor: experienced 6-19 merged PRs labels Mar 14, 2026
Copy link
Copy Markdown
Collaborator

@zmanian zmanian left a comment

Choose a reason for hiding this comment

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

Review: Add credential fallback from user-specific to default global credentials

Targeted fix for the Google Sheets 403 issue. OAuth tokens stored globally under "default" were inaccessible from routine contexts running under different user IDs.

Positives:

  • resolve_host_credentials now falls back from user-specific to "default" when credential lookup fails
  • User-specific credentials take precedence (tested)
  • Warning log when no secrets store is configured for a tool that needs credentials
  • Good test coverage: fallback behavior, user precedence, missing credentials

Minor notes:

  • The "default" user fallback is safe in IronClaw's single-user model. If multi-user support is ever added, this should be revisited -- a routine shouldn't silently access another user's credentials.
  • E2E tests cover both the credential fallback and routine OAuth injection paths.

LGTM.

@zmanian zmanian merged commit 1770663 into staging Mar 14, 2026
19 checks passed
@zmanian zmanian deleted the fix/sheets-permission-denied branch March 14, 2026 19:01
ilblackdragon pushed a commit that referenced this pull request Mar 14, 2026
…th (#1164)

* fix: Google Sheets returns 403 PERMISSION_DENIED after completing OAuth

* fix: linter

* fix: linter

* fix: ci

* fix

* fix

* fix

* fix
@ironclaw-ci ironclaw-ci Bot mentioned this pull request Mar 17, 2026
bkutasi pushed a commit to bkutasi/ironclaw that referenced this pull request Mar 28, 2026
…th (nearai#1164)

* fix: Google Sheets returns 403 PERMISSION_DENIED after completing OAuth

* fix: linter

* fix: linter

* fix: ci

* fix

* fix

* fix

* fix
drchirag1991 pushed a commit to drchirag1991/ironclaw that referenced this pull request Apr 8, 2026
…th (nearai#1164)

* fix: Google Sheets returns 403 PERMISSION_DENIED after completing OAuth

* fix: linter

* fix: linter

* fix: ci

* fix

* fix

* fix

* fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: experienced 6-19 merged PRs risk: medium Business logic, config, or moderate-risk modules scope: ci CI/CD workflows scope: tool/wasm WASM tool sandbox size: XL 500+ changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Google Sheets returns 403 PERMISSION_DENIED after completing OAuth

2 participants