Skip to content

test(protocol):add comprehensive protocol conformance test#19

Closed
lichexb wants to merge 1 commit intomainfrom
test/add-comprehensive-protocol-conformance-test
Closed

test(protocol):add comprehensive protocol conformance test#19
lichexb wants to merge 1 commit intomainfrom
test/add-comprehensive-protocol-conformance-test

Conversation

@lichexb
Copy link
Copy Markdown
Collaborator

@lichexb lichexb commented Mar 9, 2026

Description

Restructure OAuth DCR and OAuth client authentication process to make framework standard-compliant, and add comprehensive protocol conformance & cross-protocol interoperability tests.

This PR includes three main areas of work:

  1. DCR restructuring: Make agent use DCR client assertion to execute PAR and token exchange
  2. Client authentication refactoring: Standardize OAuth2 client authentication across the framework
  3. Protocol conformance testing: Add 9 conformance test suites and cross-protocol interoperability tests

Fixes #(issue)

Type of Change

  • New feature
  • Code refactoring
  • Test additions or updates
  • Documentation update
  • Bug fix
  • Breaking change
  • Performance improvement
  • Other (please describe)

Changes Made

List the key changes made in this PR:

  • Core Module: Restructured ClientAssertionAuthentication and ClientAssertionGenerator, added unified OAuth2ClientAuthentication abstraction, removed ParClientAuthentication and InMemoryOAuth2DcrClientStore
  • Framework Module: Refactored DefaultAgent orchestration to use DCR client assertion for PAR and token exchange, removed ParRequest model
  • Spring Boot Starter: Enhanced OAuth2ClientAuthenticator with comprehensive authentication method support, updated controllers and auto-configurations
  • Integration Tests: Added 9 protocol conformance test suites (OIDC Discovery, Token Endpoint, PAR, DCR, JWKS, ID Token, WIMSE WIT/WPT, Token Exchange) and ProtocolInteroperabilityConformanceTest with 18 cross-protocol test cases
  • Documentation: Added 09-wimse-dcr-integration.md architecture documentation
  • Scripts: Added run-conformance-tests.sh and diagnose-conformance-env.sh for automated conformance testing

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing completed
  • All existing tests pass

Test Instructions:

# Run unit tests
mvn test

# Run protocol conformance tests (requires sample services running)
cd open-agent-auth-integration-tests
./scripts/run-conformance-tests.sh

# Run specific conformance test
./scripts/run-conformance-tests.sh --test-class ProtocolInteroperabilityConformanceTest

Checklist

  • Code follows coding standards
  • Self-review performed
  • Documentation updated
  • No new warnings
  • Tests added/updated
  • All tests pass locally
  • CHANGELOG.md updated

Breaking Changes

If this PR introduces breaking changes, please describe them here:

  • Description: ParClientAuthentication removed (replaced by unified OAuth2ClientAuthentication), InMemoryOAuth2DcrClientStore removed (consolidated into InMemoryOAuth2ClientStore), ParRequest model removed (PAR requests now use standard OAuth2 client authentication flow)
  • Migration Path: Use ClientAssertionAuthentication or BasicAuthAuthentication instead of ParClientAuthentication

Additional Context

Add any other context, screenshots, or information about the PR here.

Protocols validated by conformance tests:

  • OAuth 2.0 Token Endpoint (RFC 6749 §5)
  • OAuth 2.0 Token Exchange (RFC 8693)
  • OAuth 2.0 DCR (RFC 7591)
  • OAuth 2.0 PAR (RFC 9126)
  • OIDC Discovery (OpenID Connect Discovery 1.0)
  • OIDC ID Token (OpenID Connect Core 1.0 §2)
  • JWKS Endpoint (RFC 7517)
  • WIMSE WIT/WPT (draft-ietf-wimse-workload-creds)
  • Cross-Protocol Interoperability (DCR→PAR→Token, OIDC→JWKS, WIT→TokenExchange)

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Mar 9, 2026

CLA assistant check
All committers have signed the CLA.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 9, 2026

Code Coverage Report

Overall Project 85.13% 🍏

There is no coverage information present for the Files changed

@lichexb lichexb closed this Mar 9, 2026
@lichexb lichexb deleted the test/add-comprehensive-protocol-conformance-test branch March 9, 2026 15:17
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