fix: add jwks_uri + signing_algorithms to ProviderConfig PROTO contract (v0.1.7 follow-up)#19
Merged
Merged
Conversation
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).
There was a problem hiding this comment.
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) andsigning_algorithms(13) fields toProviderConfigin the proto contract. - Regenerate
sso.pb.gowith the new fields and accessors. - Wire the two fields through
providerConfigsToAnyandoidcModuleConfigToMapininternal/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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
v0.1.7 was incomplete. PR #18 added the Go-level
ProviderConfig.JWKSURI/SigningAlgorithmsfields but NOT the corresponding proto contract fields.sso.oidcconfig is validated under STRICT_PROTO by the engine at config-load — sojwksUri/signingAlgorithmsin 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: addstring jwks_uri = 12;+repeated string signing_algorithms = 13;toProviderConfig.internal/contracts/sso.pb.go: regenerated.internal/typed.go: wire the two fields inoidcModuleConfigToMap+providerConfigsToAny.go build/go test -race/golangci-lintgreen. 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