Skip to content

Conversation

@longsleep
Copy link
Collaborator

Summary

This PR replaces the outdated konnect-identifier-api-v1.yaml specification with a comprehensive and accurate libregraph-connect-api-v1.yaml that properly reflects the current LibreGraph Connect implementation.

Key Improvements

🔧 OIDC Standards Compliance

  • Added missing Discovery metadata fields:
    • userinfo_signing_alg_values_supported
    • request_object_signing_alg_values_supported
    • token_endpoint_auth_signing_alg_values_supported
    • claims_parameter_supported, claims_supported
    • request_parameter_supported, request_uri_parameter_supported
  • Added proper grant_types_supported enum constraints

🌐 Server Configuration

  • Fixed server URL structure to support configurable base paths
  • Added basePath variable for flexible deployment scenarios

📡 HTTP Methods & Content Types

  • Added HEAD method support for UserInfo endpoint (OIDC compliance)
  • Added application/jwk-set+json content type for JWKS endpoint
  • Enhanced token endpoint with client_secret_post authentication support

🔐 Security & Authentication

  • Updated security schemes with correct cookie names (__Secure-KKT)
  • Improved cookie documentation with configuration-aware descriptions
  • Enhanced CSRF protection parameter documentation

📋 Schema Accuracy

  • All request/response schemas now match actual Go struct definitions
  • Added missing fields in ConsentRequest (ref, flow_nonce)
  • Enhanced HelloResponse with continue_uri field
  • Improved field descriptions and documentation

📚 Documentation

  • Added comprehensive examples for logon parameters
  • Enhanced error response documentation
  • Improved parameter descriptions with validation rules

Files Changed

  • Added: docs/libregraph-connect-api-v1.yaml - New comprehensive specification
  • Removed: docs/konnect-identifier-api-v1.yaml - Legacy specification

Verification

  • ✅ All endpoints verified against actual server implementation
  • ✅ Request/response schemas match Go structs in identifier/models.go
  • ✅ Security schemes align with backend configuration
  • ✅ OIDC Discovery metadata complies with standards
  • ✅ No YAML syntax errors or validation issues

Test Plan

  • Verify OpenAPI spec validates correctly (no YAML errors)
  • Confirm all endpoints match actual server routes
  • Validate schemas against Go struct definitions
  • Check OIDC compliance for Discovery metadata
  • Ensure CI builds pass (no OpenAPI validation in current CI)

This specification is now ready to serve as the authoritative API documentation for LibreGraph Connect.

…ct OpenAPI spec

- Replace outdated konnect-identifier-api-v1.yaml with libregraph-connect-api-v1.yaml
- Add missing OIDC Discovery metadata fields for standards compliance:
  - userinfo_signing_alg_values_supported
  - request_object_signing_alg_values_supported
  - claims_parameter_supported, claims_supported
  - request_parameter_supported, request_uri_parameter_supported
- Fix server URL configuration to support configurable base paths
- Add missing HTTP methods (HEAD for UserInfo endpoint)
- Add missing content types (application/jwk-set+json for JWKS)
- Update security schemes with correct cookie names (__Secure-KKT)
- Enhance request/response schemas to match actual Go implementation
- Add client_secret_post authentication method support for token endpoint
- Improve documentation with proper field descriptions and examples

This comprehensive specification accurately reflects the current LibreGraph Connect
implementation and ensures OIDC standard compliance.
@longsleep longsleep self-assigned this Jun 30, 2025
@longsleep longsleep merged commit ae1dab4 into libregraph:master Jun 30, 2025
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