JSR OIDC Publishing Fails with InvalidIssuer on Organization-Owned Repository
Summary
Attempting to publish @bloqr/compiler-core from an organization-owned GitHub repository (BloqrAI/bloqr-core) to JSR using OIDC-based trusted publishing consistently fails with:
The provided OIDC token is invalid: InvalidIssuer (invalidOidcToken)
This occurs despite:
- Complete JSR scope/package recreation
- Fresh GitHub repo link in JSR package settings
- Correct GitHub OIDC issuer (
https://token.actions.githubusercontent.com)
- No organization-level OIDC policies configured in GitHub (none exist)
deno publish --dry-run validation passing successfully
Environment Details
Reproduction
.github/workflows/publish-jsr.yml:
on:
push:
branches: ["main"]
paths:
- "src/adblock-compiler-core/**"
workflow_dispatch: {}
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- run: deno publish --dry-run # ✅ Passes
- run: deno publish # ❌ Fails with InvalidIssuer
Investigation
- GitHub organization settings show no OIDC policies configured (only placeholder/sample values exist)
- Repository is public and properly linked in JSR
- GitHub OIDC issuer claim matches standard format
- Subject claim format may have changed (July 15, 2026 GitHub OIDC update for new repos)
Current Workaround
Using JSR Workflow Token authentication instead:
- name: Publish to JSR
env:
JSR_TOKEN: ${{ secrets.JSR_WORKFLOW_TOKEN }}
run: deno publish
This works reliably but loses OIDC provenance attestations.
Questions for JSR Team
- Does JSR support OIDC for organization-owned repositories? The docs don't clarify this limitation.
- Is the July 15, 2026 GitHub OIDC subject claim format change affecting validation?
- Are there additional OIDC policies needed at the JSR end for org-repo integration?
Desired Outcome
Clarification on:
- Whether org-owned repos are fully supported for OIDC publishing
- Required OIDC configuration (GitHub org-level policies, JSR settings)
- Provenance attestation support for token-based publishing
Workaround adopted: Token-based publishing with JSR_WORKFLOW_TOKEN org secret, scoped to @bloqr namespace. Documentation added at docs/jsr-token-authentication.md.
Original GH Issue
JSR OIDC Publishing Fails with InvalidIssuer on Organization-Owned Repository
Summary
Attempting to publish
@bloqr/compiler-corefrom an organization-owned GitHub repository (BloqrAI/bloqr-core) to JSR using OIDC-based trusted publishing consistently fails with:This occurs despite:
https://token.actions.githubusercontent.com)deno publish --dry-runvalidation passing successfullyEnvironment Details
BloqrAI/bloqr-core(public, organization-owned)@bloqr/compiler-core(linked to repository)Reproduction
.github/workflows/publish-jsr.yml:Investigation
Current Workaround
Using JSR Workflow Token authentication instead:
This works reliably but loses OIDC provenance attestations.
Questions for JSR Team
Desired Outcome
Clarification on:
Workaround adopted: Token-based publishing with
JSR_WORKFLOW_TOKENorg secret, scoped to@bloqrnamespace. Documentation added atdocs/jsr-token-authentication.md.Original GH Issue