Skip to content

Remove redundant entity-level certificates#3475

Open
Yathusiga27 wants to merge 1 commit into
thunder-id:mainfrom
Yathusiga27:remove-entity-level-certificates
Open

Remove redundant entity-level certificates#3475
Yathusiga27 wants to merge 1 commit into
thunder-id:mainfrom
Yathusiga27:remove-entity-level-certificates

Conversation

@Yathusiga27

@Yathusiga27 Yathusiga27 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Purpose

Remove the unused entity-level certificate path for applications and agents.

ThunderID currently has two certificate references: OAuth-app certificates keyed by OAuth client ID, and entity-level certificates keyed by application/agent entity ID. The entity-level certificate is only stored and returned in top-level API fields, but runtime OAuth client authentication, token encryption, userinfo encryption, and JWT validation use the OAuth-app certificate path only.

This PR removes the dead top-level application.certificate / agent.certificate path so certificates are managed only through inboundAuthConfig[].config.certificate.

⚠️ Breaking Changes

🔧 Summary of Breaking Changes

Removed the deprecated entity-level certificate field from applications and agents. The top-level application.certificate / agent.certificate field is no longer accepted in create/update requests or returned in GET responses.

💥 Impact

Clients that send or read the old top-level certificate field must update their payload handling. OAuth runtime certificate behavior is unchanged because the supported certificate path remains inboundAuthConfig[].config.certificate.

🔄 Migration Guide

Move certificate configuration to the OAuth inbound auth config:

{
  "inboundAuthConfig": [
    {
      "type": "oauth2",
      "config": {
        "certificate": {
          "type": "JWKS_URI",
          "value": "https://client.example.com/.well-known/jwks.json"
        }
      }
    }
  ]
}

Approach

  • Removed CertificateReferenceTypeApplication.
  • Removed top-level certificate fields from backend application/agent request and response models.
  • Removed entity-level certificate create/update/delete/get handling from inbound client, application, and agent services.
  • Kept OAuth-app certificates under inboundAuthConfig[].config.certificate.
  • Updated frontend application and agent models to remove top-level certificate fields.
  • Updated edit pages to avoid sending legacy top-level certificate data in update payloads.
  • Updated related tests and mocks.

Related Issues

Related PRs

  • N/A#

Checklist

  • Followed the contribution guidelines.
  • Manual test round performed and verified.
  • Documentation provided. (Add links if there are any)
    • Ran Vale and fixed all errors and warnings
  • Tests provided. (Add links if there are any)
    • Unit Tests
    • Integration Tests
  • Breaking changes. (Fill if applicable)
    • Breaking changes section filled.
    • breaking change label added.

Security checks

  • Followed secure coding standards in WSO2 Secure Coding Guidelines
  • Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets.

Summary by CodeRabbit

  • Bug Fixes
    • Fixed OAuth certificate validation behavior by returning ErrorInvalidOAuthConfiguration when an OAuth client certificate is missing a resolvable OAuth client ID.
  • New Features
    • Added JWKSUri validation (must be a valid https URL).
  • Refactor
    • Removed application/agent-level certificate support from API contracts and console models; certificate handling is now driven by OAuth client configuration only.
    • Inbound-client provisioning now relies on OAuth inbound auth config (including AllowedUserTypes) rather than certificate presence.
  • Documentation
    • Updated guides to consistently reference “OAuth client certificate.”
  • Tests
    • Updated unit and integration tests and error mapping coverage to match the new payload shapes and contract behavior.

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Removes application-level certificate handling, moves certificate data to OAuth app config, and updates inbound-client, DCR, frontend, API, docs, and tests to use the new certificate placement and reference types.

Changes

Application and OAuth certificate migration

Layer / File(s) Summary
Certificate contracts and validation
backend/internal/cert/constants.go, backend/internal/cert/service.go, backend/internal/inboundclient/model/inbound_client.go, backend/internal/application/model/application.go, backend/internal/cert/*_test.go, backend/internal/cert/cache_backed_store_test.go, backend/internal/cert/store_test.go
Removes the application certificate reference type, narrows certificate validation, and drops certificate fields and aliases from shared certificate and inbound-auth models.
Inbound client certificate lifecycle
backend/internal/inboundclient/service.go, backend/internal/inboundclient/InboundClientServiceInterface_mock_test.go, backend/internal/inboundclient/error_constants.go, backend/internal/inboundclient/service_test.go
Removes the application certificate argument from inbound-client APIs and refactors certificate lifecycle helpers to operate on OAuth app certificates only.
Application backend mapping cleanup
backend/internal/application/*, backend/internal/system/importer/service.go, backend/internal/application/service_test.go
Stops threading certificate fields through application parsing, handlers, response builders, importer mappings, and related tests.
Agent backend wiring cleanup
backend/internal/agent/service.go, backend/internal/agent/service_test.go, backend/internal/system/i18n/core/defaults.go
Removes agent certificate wiring from create, update, get, and complete-response flows, switches inbound-client need checks to allowed user types, and updates agent certificate error tests and messages.
OAuth DCR certificate placement
backend/internal/oauth/oauth2/dcr/service.go, backend/internal/oauth/oauth2/dcr/service_test.go, backend/internal/oauth/oauth2/userinfo/service_jwe_test.go
Validates JWKS URI input and reads or writes certificate data through OAuth config instead of application-level certificate fields.
API, frontend, and docs cleanup
api/agent.yaml, api/application.yaml, frontend/apps/console/src/features/..., docs/content/guides/guides/**/*.mdx, tests/integration/application/application_api_test.go, tests/integration/oauth/dcr/dcr_test.go
Removes certificate properties from public schemas and examples, strips certificate from edit payloads, and rewrites documentation and integration tests for OAuth client certificate placement.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related issues

Possibly related PRs

  • thunder-id/thunderid#2362: Both PRs change application-certificate handling in backend/internal/application/service.go/tests by altering how “no certificate” is represented/validated.
  • thunder-id/thunderid#2457: Both PRs change the inbound-client service interface, mocks, and certificate helper flow around OAuth certificate handling.
  • thunder-id/thunderid#2534: Both PRs reshape inbound auth model wiring and certificate placement around OAuth config structures.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 69.23% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: removing redundant entity-level certificates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description matches the template with purpose, breaking changes, approach, links, and checklist sections filled in.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jun 23, 2026

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 36 bytes (0.0%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
console-esm 22.05MB 36 bytes (0.0%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: console-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/ApplicationEditPage-*.js 18 bytes 716.3kB 0.0%
assets/dist-*.js -136.42kB 140 bytes -99.9%
assets/dist-*.js 6 bytes 154 bytes 4.05%
assets/dist-*.js 8 bytes 148 bytes 5.71% ⚠️
assets/dist-*.js -15 bytes 130 bytes -10.34%
assets/dist-*.js 15 bytes 145 bytes 11.54% ⚠️
assets/dist-*.js 136.41kB 136.56kB 88577.27% ⚠️
assets/AgentEditPage-*.js 18 bytes 61.2kB 0.03%

@Yathusiga27 Yathusiga27 force-pushed the remove-entity-level-certificates branch 4 times, most recently from f2d9304 to ef1daf1 Compare June 23, 2026 15:45
@codecov

codecov Bot commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.73684% with 3 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
backend/internal/inboundclient/service.go 91.30% 0 Missing and 2 partials ⚠️
...onsole/src/features/agents/pages/AgentEditPage.tsx 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@thiva-k thiva-k linked an issue Jun 23, 2026 that may be closed by this pull request
@thiva-k thiva-k changed the title Remove entity-level certificates Remove redundant entity-level certificates Jun 23, 2026
@thiva-k

thiva-k commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
backend/internal/inboundclient/service.go (1)

219-233: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Defer old OAuth certificate cleanup until the entity update succeeds.

Line 221 deletes the certificate for the currently stored client ID before the application/agent callers update their entity system attributes. If that later entity update fails, the entity still points at the old client_id but its certificate has been removed, breaking the existing OAuth app. Move this cleanup to a post-entity-update step, add compensation, or make the entity/config/certificate update atomic.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@backend/internal/inboundclient/service.go` around lines 219 - 233, The old
OAuth certificate is being deleted via the s.deleteCertificate call before the
entity update completes, which can leave the entity in an inconsistent state if
the update fails. Move the certificate cleanup logic that checks
oldOAuthClientID and calls s.deleteCertificate to execute after the entity
update succeeds (after the s.syncCertificate call and any subsequent entity
update operations complete), ensuring that the old certificate is only removed
once the entity has been safely updated with the new OAuth client ID.
tests/integration/oauth/dcr/dcr_test.go (1)

563-572: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

🔴 Documentation Required
This PR introduces user-facing changes that are not covered by documentation updates under docs/.
Please update the relevant documentation before merging.

Missing documentation:

  • Application/agent API schema updates: document removal of legacy top-level certificate fields and the new certificate location at inboundAuthConfig[].config.certificate in docs/content/apis.mdx.
  • DCR/OIDC API behavior updates: document JWKS/JWKS URI handling and token_endpoint_auth_method expectations (private_key_jwt path) in docs/content/apis.mdx and relevant guides under docs/content/guides/.
  • Migration guidance for SDK/integration consumers: add payload/response migration notes for clients relying on the removed top-level certificate fields under docs/content/sdks/ (and/or a dedicated migration guide).

As per path instructions, changes that modify public API/auth/user-facing behavior must include a single consolidated docs-gap comment when docs updates are missing.

Also applies to: 598-606, 628-671, 971-985, 1027-1036

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/integration/oauth/dcr/dcr_test.go` around lines 563 - 572, This PR
introduces user-facing API changes including removal of legacy top-level
certificate fields, new certificate location at
inboundAuthConfig[].config.certificate, and JWKS/JWKS URI handling for DCR/OIDC
with private_key_jwt token_endpoint_auth_method. Update docs/content/apis.mdx to
document the certificate field migration and JWKS/JWKS URI behavior
expectations, add relevant guides under docs/content/guides/ explaining the
DCR/OIDC API changes, and include migration guidance in docs/content/sdks/ for
SDK consumers affected by the removed top-level certificate fields.

Source: Path instructions

tests/integration/application/application_api_test.go (1)

874-1041: 📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

🔴 Documentation Required
This PR introduces user-facing changes that are not covered by documentation updates under docs/.
Please update the relevant documentation before merging.

Missing documentation:

  • Application/Agent API schema migration: document removal of legacy top-level certificate fields and the new certificate location under inboundAuthConfig[].oauthAppConfig.certificate in docs/content/apis.mdx.
  • Auth flow behavior: document certificate lifecycle now being OAuth-app scoped (including private_key_jwt certificate expectations) in docs/content/guides/ migration/usage guidance.
  • Client/SDK contract impact: document model changes for certificate fields in docs/content/sdks/ so generated/manual SDK consumers update request/response handling.

As per path instructions, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/, post a single consolidated PR-level comment."

Also applies to: 1350-1402, 2202-2228

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/integration/application/application_api_test.go` around lines 874 -
1041, Add documentation updates to cover the API schema changes introduced by
this PR. Create or update docs/content/apis.mdx to document the removal of
legacy top-level certificate fields from the Application model and the new
certificate location under inboundAuthConfig[].oauthAppConfig.certificate. Add
migration and usage guidance to docs/content/guides/ explaining that certificate
lifecycle is now OAuth-app scoped and covering private_key_jwt certificate
expectations (including supported certificate types like JWKS_URI and JWKS).
Finally, update docs/content/sdks/ to document the certificate field model
changes so SDK consumers understand how to update their request and response
handling for the new certificate structure shown in the
TestApplicationCreationWithPrivateKeyJWT test cases.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@backend/internal/cert/service_test.go`:
- Around line 794-795: The test table in TestIsValidReferenceType has a
duplicate reference type for the "Application type" test case, as both the first
and second rows currently use CertificateReferenceTypeIDP. Replace the
CertificateReferenceTypeIDP in the "Application type" test case (the first row)
with the appropriate reference type constant for OAuth applications (likely
CertificateReferenceTypeOAuthApp or similar) to restore coverage of the second
supported reference type.

---

Outside diff comments:
In `@backend/internal/inboundclient/service.go`:
- Around line 219-233: The old OAuth certificate is being deleted via the
s.deleteCertificate call before the entity update completes, which can leave the
entity in an inconsistent state if the update fails. Move the certificate
cleanup logic that checks oldOAuthClientID and calls s.deleteCertificate to
execute after the entity update succeeds (after the s.syncCertificate call and
any subsequent entity update operations complete), ensuring that the old
certificate is only removed once the entity has been safely updated with the new
OAuth client ID.

In `@tests/integration/application/application_api_test.go`:
- Around line 874-1041: Add documentation updates to cover the API schema
changes introduced by this PR. Create or update docs/content/apis.mdx to
document the removal of legacy top-level certificate fields from the Application
model and the new certificate location under
inboundAuthConfig[].oauthAppConfig.certificate. Add migration and usage guidance
to docs/content/guides/ explaining that certificate lifecycle is now OAuth-app
scoped and covering private_key_jwt certificate expectations (including
supported certificate types like JWKS_URI and JWKS). Finally, update
docs/content/sdks/ to document the certificate field model changes so SDK
consumers understand how to update their request and response handling for the
new certificate structure shown in the TestApplicationCreationWithPrivateKeyJWT
test cases.

In `@tests/integration/oauth/dcr/dcr_test.go`:
- Around line 563-572: This PR introduces user-facing API changes including
removal of legacy top-level certificate fields, new certificate location at
inboundAuthConfig[].config.certificate, and JWKS/JWKS URI handling for DCR/OIDC
with private_key_jwt token_endpoint_auth_method. Update docs/content/apis.mdx to
document the certificate field migration and JWKS/JWKS URI behavior
expectations, add relevant guides under docs/content/guides/ explaining the
DCR/OIDC API changes, and include migration guidance in docs/content/sdks/ for
SDK consumers affected by the removed top-level certificate fields.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 340c0fa0-a0d6-422c-a122-3bbdc1543e79

📥 Commits

Reviewing files that changed from the base of the PR and between 86c38c4 and ef1daf1.

⛔ Files ignored due to path filters (1)
  • backend/tests/mocks/inboundclientmock/InboundClientServiceInterface_mock.go is excluded by !**/*_mock.go
📒 Files selected for processing (28)
  • backend/internal/agent/service.go
  • backend/internal/agent/service_test.go
  • backend/internal/application/declarative_resource.go
  • backend/internal/application/handler.go
  • backend/internal/application/handler_test.go
  • backend/internal/application/init_test.go
  • backend/internal/application/model/application.go
  • backend/internal/application/service.go
  • backend/internal/application/service_test.go
  • backend/internal/cert/cache_backed_store_test.go
  • backend/internal/cert/constants.go
  • backend/internal/cert/service.go
  • backend/internal/cert/service_test.go
  • backend/internal/cert/store_test.go
  • backend/internal/inboundclient/InboundClientServiceInterface_mock_test.go
  • backend/internal/inboundclient/model/inbound_client.go
  • backend/internal/inboundclient/service.go
  • backend/internal/inboundclient/service_test.go
  • backend/internal/oauth/oauth2/dcr/service.go
  • backend/internal/oauth/oauth2/dcr/service_test.go
  • backend/internal/oauth/oauth2/userinfo/service_jwe_test.go
  • backend/internal/system/importer/service.go
  • frontend/apps/console/src/features/agents/models/agent.ts
  • frontend/apps/console/src/features/agents/pages/AgentEditPage.tsx
  • frontend/apps/console/src/features/applications/models/__tests__/application.test.ts
  • frontend/apps/console/src/features/applications/pages/ApplicationEditPage.tsx
  • tests/integration/application/application_api_test.go
  • tests/integration/oauth/dcr/dcr_test.go
💤 Files with no reviewable changes (9)
  • backend/internal/inboundclient/model/inbound_client.go
  • backend/internal/application/declarative_resource.go
  • frontend/apps/console/src/features/applications/models/tests/application.test.ts
  • backend/internal/application/model/application.go
  • backend/internal/system/importer/service.go
  • backend/internal/application/handler.go
  • backend/internal/application/init_test.go
  • backend/internal/cert/constants.go
  • frontend/apps/console/src/features/agents/models/agent.ts

Comment thread backend/internal/cert/service_test.go Outdated
@thiva-k

thiva-k commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Let's check the OpenAPI specs and other docs too for any references and remove them

@Yathusiga27 Yathusiga27 force-pushed the remove-entity-level-certificates branch from ef1daf1 to d767c77 Compare June 24, 2026 14:38
@Yathusiga27

Copy link
Copy Markdown
Contributor Author

Let's check the OpenAPI specs and other docs too for any references and remove them

Done, removed stale top-level application/agent certificate references from OpenAPI/docs and kept only the valid OAuth client certificate paths.

@Yathusiga27 Yathusiga27 marked this pull request as ready for review June 24, 2026 15:09

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
backend/internal/inboundclient/service_test.go (1)

394-452: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Assert the OAuth-app reference in syncCertificate tests.

These expectations use mock.Anything for the reference type/ref ID, so the tests would still pass if syncCertificate regressed to a non-OAuth-app reference. Since this PR hardcodes OAuth-app certificate handling, make those expectations explicit.

Example tightening
 	mockCert.EXPECT().
-		GetCertificateByReference(mock.Anything, mock.Anything, mock.Anything).
+		GetCertificateByReference(mock.Anything, cert.CertificateReferenceTypeOAuthApp, "ref-1").
 		Return(nil, &cert.ErrorCertificateNotFound)
 	mockCert.EXPECT().
-		DeleteCertificateByReference(mock.Anything, mock.Anything, mock.Anything).
+		DeleteCertificateByReference(mock.Anything, cert.CertificateReferenceTypeOAuthApp, "ref-1").
 		Return(nil)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@backend/internal/inboundclient/service_test.go` around lines 394 - 452, The
syncCertificate tests are too loose because the GetCertificateByReference,
CreateCertificate, UpdateCertificateByID, and DeleteCertificateByReference
expectations use mock.Anything for the reference type and ref ID, so a
regression away from the OAuth-app reference would still pass. Tighten the
assertions in the InboundClientServiceTestSuite syncCertificate cases by
explicitly matching the OAuth-app reference values used by syncCertificate and
the new hardcoded OAuth-app certificate handling, so the tests verify the
correct reference is passed through in each path.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@backend/internal/inboundclient/service.go`:
- Around line 153-156: Reject OAuth certificate input when oauthClientID is
missing: in service.go, the oauthProfile.Certificate handling inside the
certificate creation flow currently skips persistence when oauthClientID == "",
which can leave an invalid OAuth profile state. Update the relevant validation
path in the certificate persistence logic around createCertificate so that if
oauthProfile.Certificate is present but oauthClientID is empty, the method
returns a validation error instead of continuing; apply the same guard in both
affected certificate-handling blocks referenced by oauthProfile and
createCertificate.

---

Nitpick comments:
In `@backend/internal/inboundclient/service_test.go`:
- Around line 394-452: The syncCertificate tests are too loose because the
GetCertificateByReference, CreateCertificate, UpdateCertificateByID, and
DeleteCertificateByReference expectations use mock.Anything for the reference
type and ref ID, so a regression away from the OAuth-app reference would still
pass. Tighten the assertions in the InboundClientServiceTestSuite
syncCertificate cases by explicitly matching the OAuth-app reference values used
by syncCertificate and the new hardcoded OAuth-app certificate handling, so the
tests verify the correct reference is passed through in each path.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 8e0cab08-de05-42e1-bf1b-672acc0f8cd4

📥 Commits

Reviewing files that changed from the base of the PR and between ef1daf1 and d767c77.

⛔ Files ignored due to path filters (1)
  • backend/tests/mocks/inboundclientmock/InboundClientServiceInterface_mock.go is excluded by !**/*_mock.go
📒 Files selected for processing (33)
  • api/agent.yaml
  • api/application.yaml
  • backend/internal/agent/service.go
  • backend/internal/agent/service_test.go
  • backend/internal/application/declarative_resource.go
  • backend/internal/application/handler.go
  • backend/internal/application/handler_test.go
  • backend/internal/application/init_test.go
  • backend/internal/application/model/application.go
  • backend/internal/application/service.go
  • backend/internal/application/service_test.go
  • backend/internal/cert/cache_backed_store_test.go
  • backend/internal/cert/constants.go
  • backend/internal/cert/service.go
  • backend/internal/cert/service_test.go
  • backend/internal/cert/store_test.go
  • backend/internal/inboundclient/InboundClientServiceInterface_mock_test.go
  • backend/internal/inboundclient/model/inbound_client.go
  • backend/internal/inboundclient/service.go
  • backend/internal/inboundclient/service_test.go
  • backend/internal/oauth/oauth2/dcr/service.go
  • backend/internal/oauth/oauth2/dcr/service_test.go
  • backend/internal/oauth/oauth2/userinfo/service_jwe_test.go
  • backend/internal/system/importer/service.go
  • docs/content/guides/guides/applications.mdx
  • docs/content/guides/guides/applications/application-settings.mdx
  • docs/content/guides/guides/protocols/oauth-oidc/client-authentication-methods.mdx
  • docs/content/guides/guides/protocols/oauth-oidc/token-formats.mdx
  • docs/content/guides/guides/protocols/oauth-oidc/userinfo.mdx
  • frontend/apps/console/src/features/agents/models/agent.ts
  • frontend/apps/console/src/features/agents/pages/AgentEditPage.tsx
  • frontend/apps/console/src/features/applications/models/__tests__/application.test.ts
  • frontend/apps/console/src/features/applications/pages/ApplicationEditPage.tsx
💤 Files with no reviewable changes (18)
  • backend/internal/cert/constants.go
  • docs/content/guides/guides/protocols/oauth-oidc/userinfo.mdx
  • backend/internal/application/model/application.go
  • frontend/apps/console/src/features/applications/pages/ApplicationEditPage.tsx
  • backend/internal/system/importer/service.go
  • frontend/apps/console/src/features/agents/models/agent.ts
  • backend/internal/inboundclient/model/inbound_client.go
  • docs/content/guides/guides/applications/application-settings.mdx
  • frontend/apps/console/src/features/agents/pages/AgentEditPage.tsx
  • frontend/apps/console/src/features/applications/models/tests/application.test.ts
  • docs/content/guides/guides/protocols/oauth-oidc/token-formats.mdx
  • docs/content/guides/guides/protocols/oauth-oidc/client-authentication-methods.mdx
  • backend/internal/application/declarative_resource.go
  • backend/internal/application/handler.go
  • docs/content/guides/guides/applications.mdx
  • backend/internal/application/init_test.go
  • api/application.yaml
  • api/agent.yaml
✅ Files skipped from review due to trivial changes (1)
  • backend/internal/inboundclient/InboundClientServiceInterface_mock_test.go
🚧 Files skipped from review as they are similar to previous changes (12)
  • backend/internal/cert/service.go
  • backend/internal/application/handler_test.go
  • backend/internal/oauth/oauth2/dcr/service_test.go
  • backend/internal/oauth/oauth2/userinfo/service_jwe_test.go
  • backend/internal/cert/store_test.go
  • backend/internal/oauth/oauth2/dcr/service.go
  • backend/internal/agent/service_test.go
  • backend/internal/application/service_test.go
  • backend/internal/application/service.go
  • backend/internal/agent/service.go
  • backend/internal/cert/cache_backed_store_test.go
  • backend/internal/cert/service_test.go

Comment thread backend/internal/inboundclient/service.go
@Yathusiga27 Yathusiga27 force-pushed the remove-entity-level-certificates branch 2 times, most recently from c9261b2 to b5ebb79 Compare June 24, 2026 15:30
@Yathusiga27 Yathusiga27 force-pushed the remove-entity-level-certificates branch from b5ebb79 to 7062756 Compare June 24, 2026 15:45
Comment thread tests/integration/oauth/dcr/dcr_test.go
@Yathusiga27 Yathusiga27 force-pushed the remove-entity-level-certificates branch from 7062756 to 616ac43 Compare June 25, 2026 06:22
@thiva-k

thiva-k commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Let's add breaking change section to the PR description

@thiva-k thiva-k added the breaking change The feature/ improvement will alter the existing behaviour label Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change The feature/ improvement will alter the existing behaviour Type/Improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove unused entity-level level certificate

3 participants