# oauth 2.0

Published articles for oauth 2.0.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## This Week in Spring - September 15th, 2026

DevFeed: [This Week in Spring - September 15th, 2026](<https://devfeed.tech/articles/this-week-in-spring-september-15th-2026-26974.md>)

Original publisher: [Read original article](<https://spring.io/blog/2026/09/15/this-week-in-spring-september-15th-2026>)

Author: joshlong

Published: 2026-09-15T00:00:00Z

Content type: article

Language: en

Sources: [Spring](<https://devfeed.tech/sources/spring.md>)

Topics: [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Java](<https://devfeed.tech/topics/java.md>), [Security](<https://devfeed.tech/topics/security.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [JavaFX](<https://devfeed.tech/topics/javafx.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [debugging](<https://devfeed.tech/topics/debugging.md>)

Tags: [batch](<https://devfeed.tech/tags/batch.md>), [boot](<https://devfeed.tech/tags/boot.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [java](<https://devfeed.tech/tags/java.md>), [learn](<https://devfeed.tech/tags/learn.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [security](<https://devfeed.tech/tags/security.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

A September 15, 2026 roundup of Spring-related developer content, covering Java memory management, Spring AI chat-memory summarization, JavaFX application security with Spring Security and OAuth 2.0, OAuth 2.1 with Spring Authorization Server, Spring and Gemini video understanding, Java AI libraries, Netflix's Java and Spring story, Spring Batch, and Spring Boot debugging.

### Source excerpt

Hi, Spring fans! Welcome to another rip-roarin' installment of This Week in Spring! I'm writing this to you from sun-kissed San Francisco, CA, sipping some coffee and watching the bay from my breakfast nook. What a wonderful day! A wonderful day in which to learn about the latest and greatest in Spring, even! Let's dive right in! I really loved this presentation by Oracle's Ron Pressler on the principles of memory management in Java More Craig Walls Spring AI goodness! Here's a nice recipe on summarizing chat memory Over the last few weeks, I've done some content on securing JavaFX applications with Spring Security and OAuth 2.0. That work has landed, and our friends at JFX-central.com have taken that video and the resulting code and transcribed the content into this lovely tutorial - check it out! I loved this post on securing modern applications with OAuth 2.1 and Spring Authorization Server This is a really cool video on understanding video with Spring and Gemini I just learned about this amazing new Java library called Quixotic.ai (what a name! LOL) that provides all sorts of cool stuff that might make your Java-based AI workloads even better. I wonder if there are amazing integration possibilities for Spring AI, too... In last week's A Bootiful Podcast, I was delighted to sit down and chat with Netflix's Paul Bakker on their Java and Spring story, scaling the system, and more. Huh! There's a new Spring Batch IntelliJ IDEA plugin, but search me for what's new! No release notes. Either way, get it while it's hot! Speaking of Spring Batch, there's a nice post here on scaling to millions of rows with Spring Batch that just dropped Speaking of Spring and IntelliJ, there's a nice article over on Baeldung on debugging Spring Boot-based workloads with the Spring debugger

## OpenID Connect Authentication for MySQL, Now Fully Open Source

DevFeed: [OpenID Connect Authentication for MySQL, Now Fully Open Source](<https://devfeed.tech/articles/openid-connect-authentication-for-mysql-now-fully-open-source-14105.md>)

Original publisher: [Read original article](<https://www.percona.com/blog/oidc-authentication-for-percona-mysql/>)

Author: Michał Jankowski

Published: 2026-09-02T08:56:26Z

Content type: article

Language: en

Sources: [Blog - Percona](<https://devfeed.tech/sources/blog-percona.md>)

Topics: [MySQL](<https://devfeed.tech/topics/mysql.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [jwks](<https://devfeed.tech/tags/jwks.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [percona](<https://devfeed.tech/tags/percona.md>), [percona-server-for-mysql](<https://devfeed.tech/tags/percona-server-for-mysql.md>), [percona-software](<https://devfeed.tech/tags/percona-software.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Percona Server for MySQL includes an open-source OpenID Connect authentication plugin for specified 8.4 and 9.7 releases. The article explains how it authenticates users through standards-compliant identity providers and describes capabilities beyond the MySQL Enterprise plugin, including JWKS signing-key synchronization, group-to-role mapping, and proxy-user support.

### Source excerpt

Percona Server for MySQL now ships with a fully open source OpenID Connect (OIDC) authentication plugin, available starting with Percona Server for MySQL 8.4.11-11 and 9.7.2-2 (not yet released as of this writing). It allows a MySQL account to authenticate against any standards-compliant Identity Provider (IdP) instead of relying on a locally stored password, closing ... Continued The post OpenID Connect Authentication for MySQL, Now Fully Open Source appeared first on Percona.

## Your app is the other half of agent SSO

DevFeed: [Your app is the other half of agent SSO](<https://devfeed.tech/articles/your-app-is-the-other-half-of-agent-sso-15992.md>)

Original publisher: [Read original article](<https://workos.com/blog/agent-sso-resource-app-side>)

Author: WorkOS

Published: 2026-08-31T20:22:53Z

Content type: opinion

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Single sign-on (SSO)](<https://devfeed.tech/topics/sso.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [computer-use](<https://devfeed.tech/topics/computer-use.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [app](<https://devfeed.tech/tags/app.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

This commentary explains that Okta's Agent SSO and the Cross App Access standard broker connections between AI agents and enterprise applications, but the connected application remains responsible for validating the grant and issuing its own access token. It describes the resource-side roles and the underlying OAuth and JWT-based standards.

### Source excerpt

Okta's Agent SSO went GA on the Cross App Access standard. The IdP brokers the connection, but your app still has to validate the grant and issue the token.

## Type-Safe Authentication in Rust with Auth0 and Axum

DevFeed: [Type-Safe Authentication in Rust with Auth0 and Axum](<https://devfeed.tech/articles/type-safe-authentication-in-rust-with-auth0-and-axum-15651.md>)

Original publisher: [Read original article](<https://auth0.com/blog/type-safe-authentication-rust-auth0-axum/>)

Author: Aniket Bhattacharyea

Published: 2026-08-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Auth0 Blog](<https://devfeed.tech/sources/auth0-blog.md>)

Topics: [Authentication](<https://devfeed.tech/topics/authentication.md>), [Auth0](<https://devfeed.tech/topics/auth0.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [auth0](<https://devfeed.tech/tags/auth0.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [cli](<https://devfeed.tech/tags/cli.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [rust](<https://devfeed.tech/tags/rust.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial showing how to build a Rust CLI that uses Auth0's OAuth 2.0 Device Authorization Flow, then create an Axum API that validates the resulting access token before allowing access to a protected route.

### Source excerpt

Secure your Rust CLI applications with Auth0 Device Code flow and protect your Axum backend endpoints by validating JWTs with Rust's type safety.

## What invalid\_grant actually means, provider by provider

DevFeed: [What invalid\_grant actually means, provider by provider](<https://devfeed.tech/articles/what-invalid-grant-actually-means-provider-by-provider-16020.md>)

Original publisher: [Read original article](<https://workos.com/blog/invalid-grant-oauth-errors-by-provider>)

Author: WorkOS

Published: 2026-08-27T00:00:00Z

Content type: article

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Google](<https://devfeed.tech/topics/google.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [Slack](<https://devfeed.tech/topics/slack.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [bug](<https://devfeed.tech/tags/bug.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>)

### AI overview

This article explains that OAuth 2.0's invalid_grant error covers five specification conditions, while providers use the same error differently. It compares provider-specific meanings for Google, Microsoft, Salesforce, Xero, QuickBooks, and Slack, and explains why recovery depends on provider-specific error details, often with a fallback to full re-authorization.

### Source excerpt

One string, five spec conditions, and a different meaning at every provider. Here is what Google, Microsoft, Salesforce, Xero, QuickBooks, and Slack each mean by it.

## Add Cross App Access to Your OIDC Resource Application

DevFeed: [Add Cross App Access to Your OIDC Resource Application](<https://devfeed.tech/articles/add-cross-app-access-to-your-oidc-resource-application-15976.md>)

Original publisher: [Read original article](<https://developer.okta.com/blog/2026/08/24/xaa-oidc-resource>)

Author: Sohail Pathan

Published: 2026-08-24T05:00:00Z

Content type: tutorial

Language: en

Sources: [Okta Developer](<https://devfeed.tech/sources/okta-developer.md>)

Topics: [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [API](<https://devfeed.tech/topics/api.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Single sign-on (SSO)](<https://devfeed.tech/topics/sso.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [cross-app-access](<https://devfeed.tech/tags/cross-app-access.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [okta](<https://devfeed.tech/tags/okta.md>), [scopes](<https://devfeed.tech/tags/scopes.md>), [sso](<https://devfeed.tech/tags/sso.md>), [token](<https://devfeed.tech/tags/token.md>), [xaa](<https://devfeed.tech/tags/xaa.md>)

### AI overview

This guide explains how OIDC-federated applications can support Cross App Access (XAA) for API access on behalf of users. It covers validating and redeeming the ID-JAG, resolving users from claims, issuing access tokens, updating authorization server metadata, and testing the end-to-end flow.

### Source excerpt

If you currently federate enterprise customers using OpenID Connect (OIDC) and want to allow applications to access your API on behalf of those users, this Cross App Access (XAA) guide is for you. The Identity Assertion Authorization Grant specification, the basis of XAA, was designed with OIDC in mind. Your authorization server already trusts the customer's IdP for single sign-on (SSO), and XAA reuses that same trust for API access. This guide details what you need to support, how to validate the grant, and how to resolve the user at your resource authorization server. Table of Contents How XAA in OIDC works Analyzing the ID-JAG claims XAA implementation checklist for OIDC-federated applications Mapping user identity from iss and sub Validating the ID-JAG and resolving the user Issuing the access token Updating authorization server metadata Making cross-application requests from your OIDC app securely Configure your XAA OIDC Resource app in Okta Create the OIDC requesting app for testing Create the OIDC resource app in Okta Register and configure the AI Agent in Okta Verify your Okta XAA setup on xaa.dev Configure OIDC SSO Verify the refresh token exchange for an ID-JAG token Redeem the ID-JAG for an access token at the resource authorization server Call the resource API with the access token Prove the XAA connection end-to-end Takeaways for implementors who also have SAML apps Learn more about Cross App Access, OIDC, and OAuth 2.0 How XAA in OIDC works When an agent (like one running in Claude) needs API access, it presents an Identity Assertion Authorization Grant (ID-JAG). The ID-JAG is a short-lived JSON Web Token (JWT) issued by the customer's Identity Provider (IdP) for your authorization server. Your resource server accepts the token, identifies the user, and issues your own access token, all while leaving the customer's existing OIDC integration untouched. The sequence diagram shown below describes the OIDC XAA flow. Notice that the OIDC SSO flow stays the

## Add Cross App Access to Your OIDC Requesting Application

DevFeed: [Add Cross App Access to Your OIDC Requesting Application](<https://devfeed.tech/articles/add-cross-app-access-to-your-oidc-requesting-application-15975.md>)

Original publisher: [Read original article](<https://developer.okta.com/blog/2026/08/21/xaa-oidc-requesting>)

Author: Sohail Pathan

Published: 2026-08-21T05:00:00Z

Content type: tutorial

Language: en

Sources: [Okta Developer](<https://devfeed.tech/sources/okta-developer.md>)

Topics: [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [API](<https://devfeed.tech/topics/api.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [api](<https://devfeed.tech/tags/api.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [callback](<https://devfeed.tech/tags/callback.md>), [claude](<https://devfeed.tech/tags/claude.md>), [cross-app-access](<https://devfeed.tech/tags/cross-app-access.md>), [identity](<https://devfeed.tech/tags/identity.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [sso](<https://devfeed.tech/tags/sso.md>), [third-party-applications](<https://devfeed.tech/tags/third-party-applications.md>), [token](<https://devfeed.tech/tags/token.md>), [xaa](<https://devfeed.tech/tags/xaa.md>)

### AI overview

This guide explains how an OIDC-federated application can use Cross App Access (XAA) to request resources from a third-party application. It describes exchanging a refresh token for an Identity Assertion Authorization Grant, exchanging that short-lived JWT for an OAuth access token, and using the access token for the resource API request.

### Source excerpt

If you currently federate enterprise customers using OpenID Connect (OIDC) and want to connect with third-party applications, this Cross App Access (XAA) guide is for you. The Identity Assertion Authorization Grant specification, the basis of XAA, was designed with OIDC in mind. Your app already holds an ID token after sign-in, but it's the refresh token from that same sign-in that you exchange to reach a third-party app. This guide details what you need to support and how to make resource requests to a third-party app using XAA. Table of Contents How XAA in OIDC works XAA implementation checklist for OIDC-federated applications Request the ID-JAG token Request the access token Call the resource API Handle token expiration Making cross-application requests from your OIDC app securely Configure your XAA OIDC requesting app in Okta Register the requesting app in Okta Register the test resource app in Okta Register your requesting app at xaa.dev Register and configure the AI Agent in Okta Validate the XAA connection end-to-end Learn more about Cross App Access, OIDC, and OAuth 2.0 How XAA in OIDC works When an agent (like one running in Claude) needs API access, it presents an Identity Assertion Authorization Grant (ID-JAG). The ID-JAG is a short-lived JSON Web Token (JWT) issued by the Identity Provider (IdP) for your app's user. You exchange the ID-JAG token for an access token to the resource application you're connecting with. The sequence diagram below describes the OIDC XAA flow and how your application fits into it. You'll handle the flow in two parts: where your application requests the ID-JAG from the IdP using the refresh token, and where your app requests the access token from the ID-JAG from the third-party resource app's authorization server. XAA implementation checklist for OIDC-federated applications Follow the guide in this section to support XAA in your OIDC application when your app connects to a third-party resource application. The XAA flow places t

## RFC 9470 explained: The OAuth step-up authentication challenge protocol

DevFeed: [RFC 9470 explained: The OAuth step-up authentication challenge protocol](<https://devfeed.tech/articles/rfc-9470-explained-the-oauth-step-up-authentication-challenge-protocol-16053.md>)

Original publisher: [Read original article](<https://workos.com/blog/rfc-9470-step-up-authentication-challenge>)

Author: WorkOS

Published: 2026-08-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [API](<https://devfeed.tech/topics/api.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [protocol](<https://devfeed.tech/tags/protocol.md>)

### AI overview

This article explains RFC 9470, the OAuth 2.0 Step-Up Authentication Challenge Protocol. It describes how a resource server can tell a client that the current access token does not meet the required authentication level and how the client can obtain stronger authentication, including the roles of acr_values, max_age, and auth_time.

### Source excerpt

How an API tells a client that the user needs to authenticate again, why acr_values is only a request while max_age is a requirement, and what the auth_time claim actually proves.

## Announcing OAuth Device Authorization for the Appwrite CLI: Log in from your browser

DevFeed: [Announcing OAuth Device Authorization for the Appwrite CLI: Log in from your browser](<https://devfeed.tech/articles/announcing-oauth-device-authorization-for-the-appwrite-cli-log-in-from-your-browser-16420.md>)

Original publisher: [Read original article](<https://appwrite.io/blog/post/announcing-cli-device-authorization>)

Author: Chirag Aggarwal

Published: 2026-07-29T00:00:00Z

Content type: release

Language: en

Sources: [Appwrite Blog](<https://devfeed.tech/sources/appwrite-blog.md>)

Topics: [Appwrite](<https://devfeed.tech/topics/appwrite.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [browser](<https://devfeed.tech/tags/browser.md>), [cli](<https://devfeed.tech/tags/cli.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [sign-in](<https://devfeed.tech/tags/sign-in.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

Appwrite announces OAuth Device Authorization for the Appwrite CLI. The CLI opens or provides a browser URL where users confirm a device code, review requested permissions, and authorize sign-in using their existing browser session instead of entering a password in the terminal.

### Source excerpt

The Appwrite CLI now signs you in through your browser. Confirm a device code, review permissions, and authorize, without typing credentials into your terminal.

## Build a Flask App with Okta for Secure OIDC Login and Authorized API Calls

DevFeed: [Build a Flask App with Okta for Secure OIDC Login and Authorized API Calls](<https://devfeed.tech/articles/build-a-flask-app-with-okta-for-secure-oidc-login-and-authorized-api-calls-15973.md>)

Original publisher: [Read original article](<https://developer.okta.com/blog/2026/07/28/flask-oauth-web-app>)

Author: Akanksha Bhasin

Published: 2026-07-28T05:00:00Z

Content type: tutorial

Language: en

Sources: [Okta Developer](<https://devfeed.tech/sources/okta-developer.md>)

Topics: [Flask](<https://devfeed.tech/topics/flask.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [API](<https://devfeed.tech/topics/api.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Python](<https://devfeed.tech/topics/python.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [flask](<https://devfeed.tech/tags/flask.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [python](<https://devfeed.tech/tags/python.md>), [security](<https://devfeed.tech/tags/security.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

This tutorial explains how to build a Flask dashboard that uses Okta OpenID Connect for user sign-in and OAuth 2.0 access tokens to call a protected backend API. It also covers PKCE, custom scopes, self-service registration, and validating scopes to control API responses.

### Source excerpt

Python syntax and the flexibility of the Flask microframework make it a popular choice for quickly building web applications. While Flask provides the essentials to get you started, you'll need to tackle two critical pieces yourself: secure user authentication and authorization for your backend services. After all, how do you securely sign users into your application? And once they're signed in, how does your app fetch data from a backend service that only serves authorized requests? This tutorial shows you how to solve both. You'll build a Flask dashboard app that signs users in with Okta using OpenID Connect (OIDC). Once signed in, the app uses the resulting OAuth 2.0 access token to call a separate backend API that responds only to authorized requests. In this common pattern, a web app needs to fetch data from a protected backend service. You'll use Authlib, an OIDC client library, to configure the Authorization Code flow with Proof Key for Code Exchange (PKCE) automatically. You'll also learn how to add a custom scope to the access token and validate it on the backend to control what data the API returns. Check out the complete source code on GitHub and get started without setting it up from scratch. Table of Contents Build a Flask app with OIDC authentication Create an app integration in the Okta Admin Console Enable self-service user registration Add secure user login to a Flask application with Okta Create a basic Flask web application Configure Flask environment variables Implement the OIDC authentication logic Run the Flask OAuth web app Call a protected API with OAuth scoped tokens Build a protected users API Extend the Flask app to interact with the resource server Update the Flask UI to display protected data Test the protected API integration Learn more about OAuth and OIDC Build a Flask app with OIDC authentication In this tutorial, you'll build a simple dashboard application and learn how to: Securely sign users in to view their profile information us

## Enable Your SAML Requesting App for Cross App Access

DevFeed: [Enable Your SAML Requesting App for Cross App Access](<https://devfeed.tech/articles/enable-your-saml-requesting-app-for-cross-app-access-15972.md>)

Original publisher: [Read original article](<https://developer.okta.com/blog/2026/07/17/xaa-saml-requester>)

Author: Alisa Duncan

Published: 2026-07-17T05:00:00Z

Content type: tutorial

Language: en

Sources: [Okta Developer](<https://devfeed.tech/sources/okta-developer.md>)

Topics: [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [API](<https://devfeed.tech/topics/api.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [claude](<https://devfeed.tech/tags/claude.md>), [cross-app-access](<https://devfeed.tech/tags/cross-app-access.md>), [digital-signature](<https://devfeed.tech/tags/digital-signature.md>), [identity](<https://devfeed.tech/tags/identity.md>), [idp](<https://devfeed.tech/tags/idp.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [payload](<https://devfeed.tech/tags/payload.md>), [saml](<https://devfeed.tech/tags/saml.md>), [signing](<https://devfeed.tech/tags/signing.md>), [sso](<https://devfeed.tech/tags/sso.md>), [xaa](<https://devfeed.tech/tags/xaa.md>)

### AI overview

This guide explains how SAML-federated applications can use Cross App Access (XAA) to connect to third-party applications without migrating to OpenID Connect. It covers exchanging a SAML assertion for an OAuth refresh token, an ID-JAG, and an access token, along with token validation and Okta configuration.

### Source excerpt

If you currently federate enterprise customers using Security Assertion Markup Language (SAML) and want to connect with third-party applications without migrating to OpenID Connect (OIDC), this Cross App Access (XAA) guide is for you. The Identity Assertion Authorization Grant specification, the basis of XAA, was originally designed with OIDC in mind. To use it in SAML applications, you must accommodate specific security and uniqueness requirements. This guide details what you need to support and how to make resource requests to a third-party app using XAA. Table of Contents How XAA in SAML works XAA implementation checklist for SAML-federated applications Request the refresh token Request the ID-JAG token Request the access token Handle token expiration Making cross-application requests from your SAML app securely Configure your XAA SAML Requesting App in Okta Register and configure the AI Agent in Okta Test the SAML 2.0 app Validate the XAA connection end-to-end Learn more about Cross App Access, SAML, and OAuth 2.0 How XAA in SAML works When an agent (like one running in Claude) needs API access, it presents an Identity Assertion Authorization Grant (ID-JAG). The ID-JAG is a short-lived JSON Web Token (JWT) issued by the Identity Provider (IdP) for your app's user. You exchange the ID-JAG token for an access token to the resource application you're connecting with. The sequence diagram shown below describes the SAML XAA flow and how your application fits in. You'll handle the flow in two parts: where your application requests the ID-JAG from the IdP using a refresh token, and where your app requests the access token from the ID-JAG from the third-party resource app's authorization server. XAA implementation checklist for SAML-federated applications Follow the guide in this section to support XAA in your SAML application when your app connects to a third-party resource application. The XAA flow places the burden of token validation onto the IdP and the resource ap

## Keycloak 26.7.0 released

DevFeed: [Keycloak 26.7.0 released](<https://devfeed.tech/articles/keycloak-26-7-0-released-31784.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/07/keycloak-2670-released>)

Author: Keycloak Team

Published: 2026-07-09T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [API](<https://devfeed.tech/topics/api.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Security](<https://devfeed.tech/topics/security.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [saml](<https://devfeed.tech/topics/saml.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [haproxy](<https://devfeed.tech/tags/haproxy.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [provisioning](<https://devfeed.tech/tags/provisioning.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>), [traefik](<https://devfeed.tech/tags/traefik.md>)

### AI overview

Keycloak 26.7.0 introduces preview support for SCIM-based user provisioning and simplified multi-cluster high availability, along with enhanced HAProxy and Traefik reverse-proxy guidance and step-up authentication for SAML clients. The release also adds a more secure, OAuth 2.0-compliant Identity Brokering API v2, while V1 remains enabled by default but is deprecated. OID4VCI improvements remain experimental.

### Source excerpt

To download the release go to Keycloak downloads. Highlights This release features new capabilities for users and administrators of Keycloak. The highlights of this release are: Automate user provisioning with the SCIM API (preview) Simplified multi-cluster high availability without external caches (preview) Enhanced reverse proxy guides with blueprints for HAProxy and Traefik Step-up authentication for SAML clients Read on to learn more about each new feature. If you are upgrading from a previous release, also review the changes listed in the upgrading guide. Security and Standards Stronger security for the Identity Brokering API The Identity Brokering API allows applications to retrieve tokens obtained from external identity providers during federated login. Version 2 of this API replaces the legacy V1 with a more secure and standards-compliant design: Client-level authorization -- access to external tokens is controlled per client using dedicated settings (Allow retrieve external tokens and an identity provider allow list) instead of assigning broker roles to individual users. Confidential clients only -- public clients are rejected, ensuring that only authenticated clients can retrieve external tokens. OAuth 2.0 compliant -- the endpoint uses POST and returns standard JSON responses with access_token, error, and error_description fields. Session-based token storage -- a new Store token in session option keeps tokens in the user session for faster access, with automatic cleanup on session expiry. Database storage remains available for persistence across sessions. V2 is now supported but disabled by default. V1 is deprecated but still enabled by default for backward compatibility. In a future release, V1 will be removed and V2 will become the default. For more information, see the Identity Brokering APIs chapter in the Server Developer Guide. Progress on Verifiable Credentials (OID4VCI) (experimental) Verifiable Credentials (OID4VCI) allow organizations to issue tampe

## Keycloak 26.6.0 released

DevFeed: [Keycloak 26.6.0 released](<https://devfeed.tech/articles/keycloak-26-6-0-released-31765.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/04/keycloak-2660-released>)

Author: Keycloak Team

Published: 2026-04-08T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [releases](<https://devfeed.tech/topics/releases.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Security](<https://devfeed.tech/topics/security.md>), [openid](<https://devfeed.tech/topics/openid.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [SPIFFE](<https://devfeed.tech/topics/spiffe.md>)

Tags: [idm](<https://devfeed.tech/tags/idm.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [release](<https://devfeed.tech/tags/release.md>), [releases](<https://devfeed.tech/tags/releases.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

Keycloak 26.6.0 introduces JWT Authorization Grant, federated client authentication, workflows for realm administration, zero-downtime patch releases, and a new test framework. The release also includes a preview of Identity Brokering APIs V2 and a guide to OAuth 2.0 DPoP.

### Source excerpt

To download the release go to Keycloak downloads. Highlights This release features new capabilities for users and administrators of Keycloak. The highlights of this release are: JWT Authorization Grant, enabling external-to-internal token exchange using externally signed JWT assertions. Federated client authentication, eliminating the need to manage individual client secrets in Keycloak. Workflows, enabling administrators to automate realm administrative tasks such as user and client lifecycle management. Zero-downtime patch releases, allowing rolling updates within a minor release stream without service downtime. The Keycloak Test Framework, replacing the previous Arquillian-based solution. All of these features are now fully supported and no longer in preview. Read on to learn more about each new feature. If you are upgrading from a previous release, also review the changes listed in the upgrading guide. Security and Standards JWT Authorization Grant (supported) JWT Authorization Grant (RFC 7523) is designed to implement external-to-internal token exchange use cases. This grant allows using externally signed JWT assertions to request OAuth 2.0 access tokens. In this release, JWT Authorization Grant is promoted from preview to supported. See the JWT Authorization Grant guide for additional details. Federated client authentication (supported) Federated client authentication allows clients to leverage existing credentials once a trust relationship with another issuer exists. It eliminates the need to assign and manage individual secrets for each client in Keycloak. Federated client authentication is now promoted to supported, including support for client assertions issued by external OpenID Connect identity providers and Kubernetes Service Accounts. Since the OAuth SPIFFE Client Authentication specification is still in draft status, this feature remains a preview feature in Keycloak. New guide about Demonstrating Proof-of-Possession (DPoP) A new guide for OAuth 2.0 D

## Meet Keycloak at FOSDEM on Jan 30/Feb 01!

DevFeed: [Meet Keycloak at FOSDEM on Jan 30/Feb 01!](<https://devfeed.tech/articles/meet-keycloak-at-fosdem-on-jan-30-feb-01-31751.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/01/preparing-fosdem-2026>)

Author: Alexander Schwartz

Published: 2026-01-26T00:00:00Z

Content type: news

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [FOSDEM](<https://devfeed.tech/topics/fosdem.md>), [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [identity and access management](<https://devfeed.tech/topics/identity-and-access-management.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [active-directory](<https://devfeed.tech/tags/active-directory.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [fosdem](<https://devfeed.tech/tags/fosdem.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openid](<https://devfeed.tech/tags/openid.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

Keycloak will participate in FOSDEM 2026 in Brussels through a co-hosted Sovereign Identity stand and related identity and access management talks. The article provides event, stand, and schedule details.

### Source excerpt

FOSDEM is a free event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event. Several Keycloak related talks happen at FOSDEM in Brussels on January 31st and February 1st, and meet us and help out at the stand. To get the latest updates, subscribe to our discussion on GitHub. Meet the community at the Sovereign Identity stand On Saturday, January 31st 2026, the Keycloak project will co-host the "Sovereign Identity for server, desktop, and a cloud" stand together with the FreeIPA, SSSD and OpenWallet project. We'll be open from 1000 in the morning until around 1800 in the early evening. We will be at K building on level 1 in group C. Visit this stand to interact with the teams of several popular solutions in this space. Keycloak Extensible self-hosted Single-Sign-On for your applications. Supporting Passkeys, OpenID Connect, OAuth 2.0, SAML 2.0 and Kerberos. Integrating with other Identity Providers through brokerage via SAML or OpenID Connect, or via LDAP. FreeIPA Manage Linux users and client hosts in your realm from one central location, define Kerberos authentication and authorization policies for your identities, create mutual trust with other Identity Management systems. Issue certificates to your users and services. SSSD Open Source Client for Enterprise Identity Management. Enroll your Linux machine into an Active Directory, FreeIPA or LDAP domain. Use remote identities, policies and various authentication and authorization mechanisms to access your computer. OpenWallet Foundation We drive global adoption of open, secure and interoperable digital wallet solutions. We set best practices for digital wallet technology through collaboration on standards-based OSS components that issuers, wallet providers and relying parties can use to bootstrap implementations that preserve user choice, security and privacy. Talks about Keycloak and related top

## JWT Authorization Grant and Identity Chaining in Keycloak 26.5

DevFeed: [JWT Authorization Grant and Identity Chaining in Keycloak 26.5](<https://devfeed.tech/articles/jwt-authorization-grant-and-identity-chaining-in-keycloak-26-5-31745.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/01/jwt-authorization-grant>)

Author: Giuseppe Graziano

Published: 2026-01-23T00:00:00Z

Content type: article

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Internet Engineering Task Force (IETF)](<https://devfeed.tech/topics/ietf.md>)

Tags: [authorization](<https://devfeed.tech/tags/authorization.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [external](<https://devfeed.tech/tags/external.md>), [identity](<https://devfeed.tech/tags/identity.md>), [idm](<https://devfeed.tech/tags/idm.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [preview](<https://devfeed.tech/tags/preview.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [standard](<https://devfeed.tech/tags/standard.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

Keycloak 26.5 introduces preview support for JWT Authorization Grant under RFC 7523. The feature lets clients exchange a signed JWT from an external issuer for a Keycloak access token. The article also explains how combining this grant with OAuth 2.0 Token Exchange can preserve identity and authorization context across multiple trust domains.

### Source excerpt

Modern applications and AI agents increasingly operate across distributed trust domains, where each domain is protected by its own OAuth 2.0 Authorization Server. A single request may also traverse multiple resource servers to complete a task. This raises an important challenge: every protected resource must understand who initiated the request, which authorization was granted, and optionally which other resources were accessed before making an authorization decision. Preserving this information across domains is critical. Keycloak 26.5 introduces preview support for the new feature JWT Authorization Grant, implementing RFC 7523. This feature allows a client to present a signed JWT from an external issuer and obtain a Keycloak access token, providing a standard and secure way to authorize requests based on external assertions. However, exchanging a token alone does not fully solve the problem of propagating identity and authorization context across multiple trust domains. The IETF draft OAuth Identity and Authorization Chaining Across Domains defines a standardized flow that combines JWT Authorization Grant (RFC 7523) with OAuth 2.0 Token Exchange (RFC 8693), which Keycloak already supports, to preserve the original user's identity, claims, and authorization throughout the chain. JWT Authorization Grant The JWT Authorization Grant feature allows a client to present a signed JWT assertion to the token endpoint and obtain an access token without an interactive authorization step. To initiate this flow, the client sends a request to the token endpoint with the grant_type set to urn:ietf:params:oauth:grant-type:jwt-bearer and the external token passed in the assertion parameter. It provides a standard and secure alternative to the preview feature External-to-Internal Token Exchange V1 which will be deprecated. Trust relationships in Keycloak are defined through Identity Providers. The JWT Authorization Grant can be enabled and configured in a dedicated section of the ex

## Setting Up Keycloak as a Credential Issuer with OpenID4VCI

DevFeed: [Setting Up Keycloak as a Credential Issuer with OpenID4VCI](<https://devfeed.tech/articles/setting-up-keycloak-as-a-credential-issuer-with-openid4vci-31744.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/01/issue-credentials-over-openid4vci>)

Author: Rodrick Awambeng, Forkim Enjeckayang, Ingrid Kamga, Bertrand Ogen

Published: 2026-01-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [experimental](<https://devfeed.tech/tags/experimental.md>), [guide](<https://devfeed.tech/tags/guide.md>), [idm](<https://devfeed.tech/tags/idm.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

This guide explains how to configure Keycloak as an OpenID4VCI verifiable credential issuer. It introduces the relationship between OpenID4VCI and OpenID4VP, describes credential issuance and presentation flows, and discusses privacy and interoperability. The article notes that Keycloak's OpenID4VCI support is experimental and uses Keycloak 26.5.0.

### Source excerpt

Before configuring Keycloak, it is helpful to understand its role in decentralized identity ecosystems. As a verifiable credential issuer, Keycloak can issue digitally signed credentials using the OpenID for Verifiable Credential Issuance (OpenID4VCI) protocol, allowing relying parties (also known as verifiers) to independently verify them without contacting the issuer. Keycloak implements OpenID4VCI, enabling the issuance of verifiable credentials (VCs) as digital proofs of identity or attributes. Configuring this functionality requires consistent setup across the realm, clients, and issuable credentials (client scopes). For example, consider the following scenario: The Keycloak OAuth SIG team wants to issue verifiable membership credentials to its members, including their name and email, which can later be presented at onsite or virtual events as proof of active membership. At the time of writing this blog, Keycloak's support for OpenID4VCI is still experimental. This guide uses the Keycloak 26.5.0 release. The feature is under active development and is expected to be promoted to preview in the future. Introduction to OpenID4VCI & OpenID4VP OpenID4VCI is a protocol developed by the OpenID Foundation that extends the OAuth 2.0 framework to support the secure and interoperable issuance of Verifiable Credentials (VCs). VCs are digital, tamper-evident representations of information, such as identity attributes or qualifications, which can be cryptographically verified without needing to contact the issuer at verification time. While this guide primarily focuses on OpenID for Verifiable Credential Issuance (OpenID4VCI), the overall trust architecture also includes OpenID for Verifiable Presentations (OpenID4VP), which governs how holders present credentials to verifiers. Together, these protocols enable decentralized identity ecosystems in which users (holders) retain control of their data and can share it selectively with verifiers. Figure 1. Triangle of trust or Issu

## Keycloak 26.5.0 released

DevFeed: [Keycloak 26.5.0 released](<https://devfeed.tech/articles/keycloak-26-5-0-released-31746.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/01/keycloak-2650-released>)

Author: Keycloak Team

Published: 2026-01-06T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>)

Tags: [authorization](<https://devfeed.tech/tags/authorization.md>), [cors](<https://devfeed.tech/tags/cors.md>), [idm](<https://devfeed.tech/tags/idm.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

Keycloak 26.5.0 introduces workflows for realm administration, JWT Authorization Grants in preview, additional documentation for using Keycloak as an authorization server for MCP servers, Kubernetes service-account-token authentication, and OpenTelemetry support for metrics and logging. It also includes CORS enhancements and other identity-management changes.

### Source excerpt

To download the release go to Keycloak downloads. Highlights This release features new capabilities for users and administrators of Keycloak. The highlights of this release are: Workflows to automate administrative tasks and process within a realm. JWT Authorization Grants, our recommended alternative to external to internal token exchange. Guide for using Keycloak as an authorization server for Model Context Protocol (MCP) servers. Authenticating clients with Kubernetes service account tokens to avoid static client secrets. OpenTelemetry support for metrics and logging, combining all observability information in this popular standard. Read on to learn more about each new feature. If you are upgrading from a previous release, review also the changes listed in the upgrading guide. Security and Standards JWT Authorization Grant (preview) Keycloak 26.5 introduces a new feature called JWT Authorization Grant, which adds support for RFC 7523 to use external signed JWT assertions to request OAuth 2.0 access tokens. To accept signed JWT assertions, a trust relationship must be established between the external provider and Keycloak. This trust relationship can be configured through an identity provider in a dedicated section of the OpenID Connect v1.0 identity provider, or through the new JWT Authorization Grant identity provider. JWT Authorization Grant is recommended as an alternative to External to internal token exchange V1. This feature is in preview, and additional details are available in the dedicated documentation. Using Keycloak as an authorization server for Model Context Protocol (MCP) servers Using Keycloak as an authorization server for Model Context Protocol (MCP) servers is becoming popular, so this release ships additional documentation on how to do this. See Integrating with Model Context Protocol (MCP) for the new guide. Many thanks to Takashi Norimatsu for the contribution. CORS enhancements CORS (Cross Origin Resource Sharing) is a browser security feat

## A Modern Guide to Using OAuth 2.0 with C# and Visual Studio Code

DevFeed: [A Modern Guide to Using OAuth 2.0 with C# and Visual Studio Code](<https://devfeed.tech/articles/a-modern-guide-to-using-oauth-2-0-with-c-and-visual-studio-code-37536.md>)

Original publisher: [Read original article](<https://deanhume.com/a-modern-guide-to-using-oauth-2-0-with-c/>)

Author: Dean Hume

Published: 2025-11-03T10:45:24Z

Content type: tutorial

Language: en

Sources: [Dean Hume](<https://devfeed.tech/sources/dean-hume.md>)

Topics: [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Entra ID](<https://devfeed.tech/topics/entra-id.md>), [API](<https://devfeed.tech/topics/api.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [code](<https://devfeed.tech/tags/code.md>), [entra-id](<https://devfeed.tech/tags/entra-id.md>), [net](<https://devfeed.tech/tags/net.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>)

### AI overview

A practical tutorial on implementing OAuth 2.0 authentication in C# with Visual Studio Code and modern .NET libraries. It covers creating a console application, configuring OAuth settings, acquiring access tokens with MSAL, and calling protected APIs such as Microsoft Graph.

### Source excerpt

Master OAuth 2.0 in .NET 9.0! This tutorial covers using OAuth 2 to acquire tokens and access Microsoft Graph user data.

## Official Support for DPoP in Keycloak 26.4

DevFeed: [Official Support for DPoP in Keycloak 26.4](<https://devfeed.tech/articles/official-support-for-dpop-in-keycloak-26-4-31726.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/10/dpop-support-26-4>)

Author: Giuseppe Graziano

Published: 2025-10-09T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Security](<https://devfeed.tech/topics/security.md>), [private key](<https://devfeed.tech/topics/private-key.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>)

Tags: [documentation](<https://devfeed.tech/tags/documentation.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [private-key](<https://devfeed.tech/tags/private-key.md>), [release](<https://devfeed.tech/tags/release.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

Keycloak 26.4 officially supports OAuth 2.0 Demonstrating Proof-of-Possession (DPoP), which binds access or refresh tokens to a client-controlled public/private key pair. The release adds support across bearer-token endpoints, optional refresh-token-only binding for public clients, and the dpop_jkt parameter in OIDC authorization requests.

### Source excerpt

DPoP has been available in Keycloak since version 23.0.0, but only as a preview feature. With the release of Keycloak 26.4, we're happy to share that OAuth 2.0 Demonstrating Proof-of-Possession (DPoP) is now officially supported. What is DPoP? 🔑 DPoP is a Proof-of-Possession mechanism that improves OAuth token security by binding a token (access or refresh) to a public/private key pair controlled by the client. By requiring a signed DPoP proof with each request, DPoP ensures that a stolen bearer token cannot be used without possession of the associated private key. This significantly improves token security in distributed systems. What's New for DPoP in 26.4 🆕 DPoP is now a supported feature and includes some improvements and minor capabilities: Support for all Keycloak endpoints that accept bearer tokens, including the Admin REST API and the Account API. Option to bind only refresh tokens for public clients, while leaving access tokens as bearer if required. Ability to request the dpop_jkt parameter in OIDC authorization requests. For full details, see the official documentation. How to enable and use DPoP in Keycloak 🚀 If you want to force a client to use DPoP, you need to enable the Require DPoP bound tokens switch in the Admin Console Settings tab under Capability config. If Require DPoP bound tokens is off, the client can still send a DPoP proof in the token request. In that case, Keycloak verifies it and adds the thumbprint to the token, but DPoP binding is not enforced. Try It Out 🔍 If you want to experiment with DPoP in practice, you can try it out using the Keycloak FAPI Playground, which includes example client configurations and test flows that demonstrate how DPoP works end-to-end. We'd love to hear what you think about this feature and how we can improve it. Feedback and contributions from the community are always welcome.

## Keycloak 26.4.0 released

DevFeed: [Keycloak 26.4.0 released](<https://devfeed.tech/articles/keycloak-26-4-0-released-31723.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/09/keycloak-2640-released>)

Author: Keycloak Team

Published: 2025-09-30T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Passkeys](<https://devfeed.tech/topics/passkeys.md>), [Security](<https://devfeed.tech/topics/security.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Specifications](<https://devfeed.tech/topics/specifications.md>), [SPIFFE](<https://devfeed.tech/topics/spiffe.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Availability](<https://devfeed.tech/topics/availability.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [release](<https://devfeed.tech/tags/release.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [specifications](<https://devfeed.tech/tags/specifications.md>), [spiffe](<https://devfeed.tech/tags/spiffe.md>), [sso](<https://devfeed.tech/tags/sso.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Keycloak 26.4.0 introduces passkeys, federated client authentication using SPIFFE or Kubernetes service account tokens, support for final FAPI 2.0 specifications, and full DPoP support. The release also includes availability and administration improvements.

### Source excerpt

To download the release go to Keycloak downloads. Highlights This release features new capabilities focused on security enhancements, deeper integration, and improved server administration. The highlights of this release are: Passkeys for seamless, passwordless authentication of users. Federated Client Authentication to use SPIFFE or Kubernetes service account tokens for client authentication. Simplified deployments across multiple availability zones to boost availability. FAPI 2 Final: Keycloak now supports the final specifications of FAPI 2.0 Security Profile and FAPI 2.0 Message Signing. DPoP: The OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP) is now fully supported. Improvements include the ability to bind only refresh tokens for public clients, and securing all Keycloak endpoints with DPoP tokens. Read on to learn more about each new feature. If you are upgrading from a previous release, review also the changes listed in the upgrading guide. Security and Standards Passkeys integration (supported) Passkeys are now seamlessly integrated in the Keycloak login forms using both conditional and modal UIs. To activate the integration in the realm, go to Authentication, Policies, Webauthn Passwordless Policy and switch Enable Passkeys to enabled. For more information, see Passkeys. FAPI 2 Final (supported) Keycloak has support for the latest versions of FAPI 2 specifications. Specifications FAPI 2.0 Security Profile and FAPI 2.0 Message Signing are already promoted to Final and Keycloak supports them. Keycloak client policies support the final versions and corresponding client profiles for FAPI 2 are passing the FAPI conformance test suite. Apart from some very minor polishing of existing policies, Keycloak has new client profiles (fapi-2-dpop-security-profile and fapi-2-dpop-message-signing) for the clients that use DPoP and are intended to be FAPI 2 compliant. Thank you to Takashi Norimatsu for contributing this. For more details, see the

## Keycloak 26.3.0 released

DevFeed: [Keycloak 26.3.0 released](<https://devfeed.tech/articles/keycloak-26-3-0-released-31714.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/07/keycloak-2630-released>)

Author: Keycloak Team

Published: 2025-07-03T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [Passkeys](<https://devfeed.tech/topics/passkeys.md>), [WebAuthn](<https://devfeed.tech/topics/webauthn.md>), [migration](<https://devfeed.tech/topics/migration.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [openid](<https://devfeed.tech/topics/openid.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [latency](<https://devfeed.tech/tags/latency.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [logging](<https://devfeed.tech/tags/logging.md>), [migration](<https://devfeed.tech/tags/migration.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [otp](<https://devfeed.tech/tags/otp.md>), [release](<https://devfeed.tech/tags/release.md>), [releases](<https://devfeed.tech/tags/releases.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

Keycloak 26.3.0 is a software release that adds supported 2FA recovery codes, simplifies WebAuthn and Passkeys registration and account linking, expands OAuth 2.0 and OpenID Connect connectivity, improves logging throughput and latency, and introduces experimental rolling updates for patch releases.

### Source excerpt

To download the release go to Keycloak downloads. Highlights This release delivers advancements to optimize your system and improve the experience of users, developers and administrators: Account recovery with 2FA recovery codes, protecting users from lockout. Simplified experiences for application developers with streamlined WebAuthn/Passkey registration and simplified account linking to identity providers via application initiated actions. Broader connectivity with the ability to broker with any OAuth 2.0 compliant authorization server, and enhanced trusted email verification for OpenID Connect providers. Asynchronous logging for higher throughput and lower latency, ensuring more efficient deployments. For administrators, experimental rolling updates for patch releases mean minimized downtime and smoother upgrades. Read on to learn more about each new feature, and find additional details in the upgrading guide if you are upgrading from a previous release of Keycloak. Recovering your account if you lose your 2FA credentials When using for example a one-time-password (OTP) generators as a second factor for authenticating users (2FA), a user can get locked out of their account when they, for example, lose their phone that contains the OTP generator. To prepare for such a case, the recovery codes feature allows users to print a set of recovery codes as an additional second factor. If the recovery codes are then allowed as an alternative 2FA in the login flow, they can be used instead of the OTP generated passwords. With this release, the recovery codes feature is promoted from preview to a supported feature. For newly created realms, the browser flow now includes the Recovery Authentication Code Form as Disabled, and it can be switched to Alternative by admins if they want to use this feature. For more information about this 2FA method, see the Recovery Codes chapter in the Server Administration Guide. Performance improvements to import, export and migration The time

## Heroku AI: Heroku Remote MCP Server

DevFeed: [Heroku AI: Heroku Remote MCP Server](<https://devfeed.tech/articles/heroku-ai-heroku-remote-mcp-server-26443.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/heroku-remote-mcp-server/>)

Author: Anush DSouza

Published: 2025-06-24T22:47:09Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Heroku AI](<https://devfeed.tech/topics/heroku-ai.md>), [Model Context Protocol (MCP)](<https://devfeed.tech/topics/model-context-protocol-mcp.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>)

Tags: [agentforce](<https://devfeed.tech/tags/agentforce.md>), [ai](<https://devfeed.tech/tags/ai.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [claude](<https://devfeed.tech/tags/claude.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-ai](<https://devfeed.tech/tags/heroku-ai.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-on-heroku](<https://devfeed.tech/tags/mcp-on-heroku.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [news](<https://devfeed.tech/tags/news.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [remote-mcp-server](<https://devfeed.tech/tags/remote-mcp-server.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>)

### AI overview

Heroku introduces the Heroku Remote MCP Server, extending its earlier stdio-based server with remote access and OAuth 2.0 authentication. The article explains how agents and clients such as Claude, Agentforce, Cursor, and Visual Studio Code can connect to Heroku and use platform tools.

### Source excerpt

Developers can easily scale how autonomous agents interact with infrastructure using the Heroku Remote MCP Server at https://mcp.heroku.com/mcp. This new remote server expands our earlier stdio-based MCP server and comes with secure OAuth authentication. It's provides a secure, scalable, and incredibly simple way for agents to interact with the Heroku platform and use tools to [...] The post Heroku AI: Heroku Remote MCP Server appeared first on Heroku.

## Standard Token Exchange is now officially supported in Keycloak 26.2

DevFeed: [Standard Token Exchange is now officially supported in Keycloak 26.2](<https://devfeed.tech/articles/standard-token-exchange-is-now-officially-supported-in-keycloak-26-2-31711.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/05/standard-token-exchange-kc-26-2>)

Author: Giuseppe Graziano

Published: 2025-05-26T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [preview](<https://devfeed.tech/tags/preview.md>), [release](<https://devfeed.tech/tags/release.md>), [rules](<https://devfeed.tech/tags/rules.md>), [saml](<https://devfeed.tech/tags/saml.md>), [scopes](<https://devfeed.tech/tags/scopes.md>), [settings](<https://devfeed.tech/tags/settings.md>), [sso](<https://devfeed.tech/tags/sso.md>), [standard](<https://devfeed.tech/tags/standard.md>), [token](<https://devfeed.tech/tags/token.md>)

### AI overview

Keycloak 26.2 officially supports Standard Token Exchange and complies with OAuth 2.0 Token Exchange (RFC 8693). The feature lets clients exchange tokens, configure exchanges through the Admin Console, and enforce rules with Client Policies.

### Source excerpt

The Token Exchange feature has been available in Keycloak for a long time, but only as a preview feature. With the release of Keycloak 26.2, we're happy to share that Standard Token Exchange is now officially supported and fully compliant with OAuth 2.0 Token Exchange (RFC 8693). What is Token Exchange? 🔄 Token Exchange is a mechanism that allows a client to exchange one token for another. In the context of Keycloak, this means a client can exchange a token originally issued for another client and receive a new token issued specifically for itself. Token Exchange is especially helpful in these scenarios: 🎯 Different Audience When a token was issued for one service but needs to be used to access another, Token Exchange can issue a new token with the appropriate audience. 🔐 Scoped Permissions If a client needs to access a service with more limited permissions, it can exchange its token for one with reduced or more specific scopes. What's new? 🆕 ✅ Official support (no longer a preview feature) 📘 Compliance with RFC 8693 (OAuth 2.0 Token Exchange) 🖱 Simple configuration via the Admin Console (just a switch in client settings) 🛡 Integration with Client Policies to enforce custom rules. You can restrict exchanges to specific clients, or deny exchanges based on requested scopes. How to get started 🚀 If you're using Keycloak 26.2 or later, there's nothing extra to enable. Token Exchange is ready to use, just open the client settings in the admin console and enable the dedicated switch. If you're still using the preview feature of token exchange, check the migration guide and the comparison to understand the differences and plan your migration. 📄 For full setup instructions and configuration details, refer to the official documentation. What's next? 🔍 We're continuing to expand Token Exchange support with future enhancements such as: 🔄 Exchanging tokens issued by external identity providers 👤 Using token exchange to impersonate users Stay tuned for updates in upcoming rele

## Keycloak 25.0.0 released

DevFeed: [Keycloak 25.0.0 released](<https://devfeed.tech/articles/keycloak-25-0-0-released-31644.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2024/06/keycloak-2500-released>)

Author: Keycloak Team

Published: 2024-06-10T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [version](<https://devfeed.tech/topics/version.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [Java](<https://devfeed.tech/topics/java.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Primer](<https://devfeed.tech/topics/primer.md>), [saml](<https://devfeed.tech/topics/saml.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [deprecated](<https://devfeed.tech/tags/deprecated.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Keycloak 25.0.0 removes the Account Console v2 theme and most Java adapters, adds OpenJDK 21 support while deprecating OpenJDK 17, updates the consoles to PatternFly 5, and makes Argon2 the default password-hashing algorithm outside FIPS environments.

### Source excerpt

To download the release go to Keycloak downloads. Highlights Account Console v2 theme removed The Account Console v2 theme has been removed from Keycloak. This theme was deprecated in Keycloak 24 and replaced by the Account Console v3 theme. If you are still using this theme, you should migrate to the Account Console v3 theme. Java 21 support Keycloak now supports OpenJDK 21, as we want to stick to the latest LTS OpenJDK versions. Java 17 support is deprecated OpenJDK 17 support is deprecated in Keycloak, and will be removed in a following release in favor of OpenJDK 21. Most of Java adapters removed As stated in the release notes of previous Keycloak version, the most of Java adapters are now removed from the Keycloak codebase and downloads pages. For OAuth 2.0/OIDC, this includes removal of the Tomcat adapter, WildFly/EAP adapter, Servlet Filter adapter, KeycloakInstalled desktop adapter, the jaxrs-oauth-client adapter, JAAS login modules, Spring adapter and SpringBoot adapters. You can check our older post for the list of some alternatives. For SAML, this includes removal of the Tomcat adapter and Servlet filter adapter. SAML adapters are still supported with WildFly and JBoss EAP. The generic Authorization Client library is still supported, and we still plan to support it. It aims to be used in combination with any other OAuth 2.0 or OpenID Connect libraries. You can check the quickstarts for some examples where this authorization client library is used together with the 3rd party Java adapters like Elytron OIDC or SpringBoot. You can check the quickstarts also for the example of SAML adapter used with WildFly. Upgrade to PatternFly 5 In Keycloak 24, the Welcome page is updated to use PatternFly 5, the latest version of the design system that underpins the user interface of Keycloak. In this release, the Admin Console and Account Console are also updated to use PatternFly 5. If you want to extend and customize the Admin Console and Account Console, review the ch

[Next page](<https://devfeed.tech/tags/oauth-2-0.md?cursor=WyIyMDI0LTA2LTEwVDAwOjAwOjAwKzAwOjAwIiwgImFhMzg1OGMyLTM4YzctNGU2MS05NzU5LTc3MjM3NTc5NDc4YSJd>)