Skip to content

fix(oauth): rebase interoperable Basic token auth onto v1.6.8 - #22

Merged
mhodgson merged 1 commit into
mainfrom
fix/rebase-oauth-basic-interop
Sep 10, 2026
Merged

fix(oauth): rebase interoperable Basic token auth onto v1.6.8#22
mhodgson merged 1 commit into
mainfrom
fix/rebase-oauth-basic-interop

Conversation

@airbooks-alpha

Copy link
Copy Markdown

The v1.6.8 sync skipped the fork's token-auth commits because upstream had already merged a different Basic implementation (UsefulSoftwareCo#1904 / UsefulSoftwareCo#1907). That was wrong: those commits were UsefulSoftwareCo/executor#1448 (still open), cherry-picked here for Aikido, and they were supposed to rebase onto the release.

UsefulSoftwareCo#1448's "basic" is interoperable HTTP Basic: Base64 of the literal UTF-8 client_id:client_secret pair. oauth4webapi's RFC-strict path form-encodes each component first, so AIK_CLIENT_… becomes AIK%5FCLIENT_… and Aikido rejects it.

Upstream later split that into "basic" (RFC-strict) and "basic_raw" (literal). Existing Aikido apps on this gateway are stored as "basic". This keeps UsefulSoftwareCo#1448's wire format for both "basic" and "basic_raw", so refresh and re-mint keep working. The Cloudflare D1 token_endpoint_auth_method ALTER from UsefulSoftwareCo#1448 stays.

Closes the mistaken removal in #21.

Verified

  • packages/core/sdk oauth-helpers + oauth-flow tests (120)
  • apps/host-cloudflare data-migrations tests (5)

Rebase UsefulSoftwareCo#1448 onto v1.6.8 instead of dropping it.
oauth4webapi form-encodes Basic credentials; Aikido compares them literally.
Treat both "basic" and "basic_raw" as that interoperable encoding so existing
rows and refresh keep working.

Co-authored-by: Matt Hodgson <matthodgson@mac.com>
@mhodgson
mhodgson merged commit d57449e into main Sep 10, 2026
1 check passed
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.

1 participant