Skip to content

fix: add jwks_uri + signing_algorithms to ProviderConfig PROTO contract (v0.1.7 follow-up)#19

Merged
intel352 merged 1 commit into
mainfrom
fix/sso-jwksuri-proto-contract
Jun 2, 2026
Merged

fix: add jwks_uri + signing_algorithms to ProviderConfig PROTO contract (v0.1.7 follow-up)#19
intel352 merged 1 commit into
mainfrom
fix/sso-jwksuri-proto-contract

Conversation

@intel352
Copy link
Copy Markdown
Contributor

@intel352 intel352 commented Jun 2, 2026

v0.1.7 was incomplete. PR #18 added the Go-level ProviderConfig.JWKSURI/SigningAlgorithms fields but NOT the corresponding proto contract fields. sso.oidc config is validated under STRICT_PROTO by the engine at config-load — so jwksUri/signingAlgorithms in YAML are rejected as unknown fields at runtime, even though the unit tests (which construct the Go struct directly) pass. Caught by runtime config-load in the cross-service scenario (workflow-scenarios#102).

Fix

  • internal/contracts/sso.proto: add string jwks_uri = 12; + repeated string signing_algorithms = 13; to ProviderConfig.
  • internal/contracts/sso.pb.go: regenerated.
  • internal/typed.go: wire the two fields in oidcModuleConfigToMap + providerConfigsToAny.

go build/go test -race/golangci-lint green. Supersedes the broken v0.1.7 → tag v0.1.8 after merge.

Lesson: adding a plugin module-config field requires the proto contract update too; struct-level unit tests don't exercise the engine's strict-proto config validation — only runtime config-load does.

🤖 Generated with Claude Code

PR 1 added the Go-level JWKSURI/SigningAlgorithms fields to ProviderConfig
and InitProvider but missed updating the proto contract. The engine uses
strict proto validation so sso.oidc modules with jwksUri set would fail
with "unknown field" on startup.

Add fields 12 (jwks_uri) and 13 (signing_algorithms) to ProviderConfig
in sso.proto; regenerate sso.pb.go; wire the new fields in typed.go
(oidcModuleConfigToMap + providerConfigsToAny).
Copilot AI review requested due to automatic review settings June 2, 2026 11:44
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds the missing proto contract fields (jwks_uri, signing_algorithms) to ProviderConfig to complete the v0.1.7 work, ensuring strict-proto config validation accepts these YAML keys at engine config-load.

Changes:

  • Add jwks_uri (12) and signing_algorithms (13) fields to ProviderConfig in the proto contract.
  • Regenerate sso.pb.go with the new fields and accessors.
  • Wire the two fields through providerConfigsToAny and oidcModuleConfigToMap in internal/typed.go.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
internal/contracts/sso.proto Adds jwks_uri and signing_algorithms fields to ProviderConfig.
internal/contracts/sso.pb.go Regenerated proto Go code with new fields, getters, and updated rawDesc.
internal/typed.go Surfaces the new fields in both provider-to-map conversions.
Files not reviewed (1)
  • internal/contracts/sso.pb.go: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@intel352 intel352 merged commit efc99eb into main Jun 2, 2026
4 checks 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.

2 participants