Skip to content

Deprecate introspection endpoint 'jwt' extension#51027

Merged
mposolda merged 1 commit into
keycloak:mainfrom
mposolda:51026-introspection-jwt
Jul 21, 2026
Merged

Deprecate introspection endpoint 'jwt' extension#51027
mposolda merged 1 commit into
keycloak:mainfrom
mposolda:51026-introspection-jwt

Conversation

@mposolda

Copy link
Copy Markdown
Contributor

closes #51026

closes keycloak#51026

Signed-off-by: mposolda <mposolda@gmail.com>
Copilot AI review requested due to automatic review settings July 20, 2026 08:33
@mposolda
mposolda requested review from a team as code owners July 20, 2026 08:33
@mposolda mposolda self-assigned this Jul 20, 2026

Copilot AI 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.

Pull request overview

Documents the deprecation of the non-standard JWT introspection extension and recommends token exchange as its replacement.

Changes:

  • Adds deprecation guidance to Admin UI help text.
  • Updates securing-apps and upgrade documentation.

Reviewed changes

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

File Description
messages_en.properties Adds deprecation guidance to the client setting.
available-endpoints.adoc Warns endpoint users about deprecation.
changes-26_8_0.adoc Adds an upgrade-guide deprecation notice.

Comment on lines +95 to +96
WARNING: The functionality of invoking introspection endpoint with `Accept: application/jwt` header is deprecated now and will be removed in the future. Please
use <@links.securingapps id="token-exchange" /> {section}.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

IMO will be better to not specify concrete version for removal in the documentation, release notes and tooltip. As specifying concrete version in all those places means less flexibility (EG. if we want to remove this later for some reason...)

Comment on lines +32 to +34
Proprietary {project_name} extension to invoke introspection endpoint with the HTTP header `Accept: application/jwt` instead of `Accept: application/json` is
deprecated now. In case you have lightweight access token, which you want to exchange for the proper access token, it is instead recommended to use the
link:{securing_apps_token_exchange_link}[Token Exchange].
lightweightAccessTokenHelp=If it is On, lightweight access tokens are always used. If it is Off, they are not used by default, but it is still possible to enable them with client policy executor.
supportJwtClaimInIntrospectionResponse=Support JWT claim in Introspection Response
supportJwtClaimInIntrospectionResponseHelp=If it is On, introspection requests which use the header 'Accept: application/jwt' will also contain a claim named "jwt" with the claims of the introspection result encoded as JWT access token.
supportJwtClaimInIntrospectionResponseHelp=If it is On, introspection requests which use the header 'Accept: application/jwt' will also contain a claim named "jwt" with the claims of the introspection result encoded as JWT access token. This switch is deprecated. Please use token exchange instead of this functionality.
@mposolda
mposolda merged commit 9f5efa8 into keycloak:main Jul 21, 2026
68 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deprecate introspection endpoint 'jwt' extension

3 participants