GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix(credentials): match JSON 403s case-insensitively and refuse a malformed ZoomInfo access token by waleedlatif1 · Pull Request #9914 · simstudioai/sim

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • isVendorJsonForbidden lowercases Content-Type before matching, because media types are case-insensitive. Before, a vendor 403 sent as Application/JSON was treated as a firewall page, so a live key that only lacked a scope was rejected. This covers HubSpot and every forbiddenMeansScoped token check.
  • requestZoomInfoToken now requires access_token to be a non-blank string. A blank or non-string token used to be cached and sent as a Bearer token. The saved-credential minter and the legacy inline ZoomInfo path both call this function, so both are covered. The expires_in fallback is unchanged.

Type of Change

  • Bug fix

Testing

  • New cases: a mixed-case JSON 403 in hubspot.test.ts, and blank and non-string access_token in zoominfo/client.test.ts. All of them fail on the pre-fix code and pass after.
  • 24 test files and 253 tests pass across token-service-accounts, lib/internal/zoominfo and the ZoomInfo minter.
  • bun run lint, check:test-patterns, check:comment-hygiene, check:utils and check:explicit-any pass, and so does the type-check in the pre-push hook.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

greptile-apps[bot] reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@waleedlatif1
fix(credentials): match JSON 403s case-insensitively and refuse a mal…
ddcf489
…formed ZoomInfo access token

- isVendorJsonForbidden lowercases Content-Type before matching, since media
  types are case-insensitive; a vendor 403 sent as Application/JSON no longer
  rejects a live key that only lacks a scope.
- requestZoomInfoToken requires a non-blank string access_token, so the
  saved-credential minter and the legacy inline path never cache or send a
  malformed token.
@vercel

vercel Bot commented Nov 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Nov 12, 2026 12:42am UTC

Request Review

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

cubic-dev-ai[bot]
cubic-dev-ai Bot reviewed Nov 12, 2026
View reviewed changes

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

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.

No issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@greptile-apps

greptile-apps Bot commented Nov 12, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] This PR appears safe to merge.

Summary

This PR fixes two credential checks:

  • Credential checks recognize mixed-case JSON 403 replies.
  • ZoomInfo rejects blank or non-string access tokens.

No actionable issues found. Tests were reviewed but not run.

Reviews (1) · Last reviewed commit: "fix(credentials): match JSON 403s case-i..." · Reviewed by Greptile

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@waleedlatif1 waleedlatif1 mentioned this pull request Nov 12, 2026
v0.9.54: non-OAuth auth for twelve more integrations, agent API additions (workflow outline, schedules list, paused runs, scoped CLI pairing keys), concurrent-edit guard, dependency updates #9912
Merged
@waleedlatif1
waleedlatif1 merged commit b4bee71 into staging Nov 12, 2026
60 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@waleedlatif1
waleedlatif1 deleted the fix/credential-release-review branch November 12, 2026 00:45

This branch was previously deployed

1 inactive deployment
Preview — ddcf489f Deployed Nov 12, 2026 by vercel[bot]
View deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@cubic-dev-ai cubic-dev-ai[bot] cubic-dev-ai[bot] left review comments

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@waleedlatif1
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.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.