generic-oidc-logout-id-token-hint

Implement RP-initiated logout for generic OIDC providers using stored ID tokens.

1|Updated Dec 23, 2025
One-click install
npx skills add https://github.com/jonnymuir/Umbraco.Prism --skill generic-oidc-logout-id-token-hint
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: generic-oidc-logout-id-token-hint
Source: https://github.com/jonnymuir/Umbraco.Prism/tree/main/.claude/skills/generic-oidc-logout-id-token-hint
Command: npx skills add https://github.com/jonnymuir/Umbraco.Prism --skill generic-oidc-logout-id-token-hint

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill resolves authentication failures where OIDC providers, such as Keycloak, reject logout requests that lack an id_token_hint, ensuring users are correctly signed out of both the application and the identity provider.

Core Features & Use Cases

  • Session-Bound Logout: Safely reuses the provider-issued ID token as an id_token_hint during the logout flow.
  • Security Hardening: Maintains strict validation for issuers, audiences, and redirect URIs while preventing token exposure.
  • Use Case: When a user logs out of an ASP.NET Core application integrated with Keycloak, this Skill ensures the ID token is correctly passed to the provider to finalize the session termination without compromising security.

Quick Start

Use the generic-oidc-logout-id-token-hint skill to configure your authentication properties to persist the ID token for use during the logout redirect process.

Frequently Asked Questions about generic-oidc-logout-id-token-hint

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does Keycloak reject logout requests from my ASP.NET Core application?

Keycloak rejects ASP.NET Core logout requests when the id_token_hint parameter is missing. Reusing the stored provider-issued ID token as an id_token_hint during the logout redirect finalizes the session termination securely.

How do I implement OIDC RP-initiated logout in ASP.NET Core?

To implement OIDC RP-initiated logout in ASP.NET Core, configure your authentication properties to persist the ID token and pass it as an id_token_hint parameter during the logout redirect process.

When do I need to pass an id_token_hint during OpenID Connect logout?

You need to pass an id_token_hint during OIDC logout when your identity provider requires strict session validation. This ensures users are signed out of both the application and the provider simultaneously.

Does this approach to OIDC logout maintain security validation for redirect URIs?

Yes, this approach maintains strict validation for issuers, audiences, and redirect URIs. It safely reuses the provider-issued ID token while preventing token exposure and security drift during the logout flow.

Can I use this RP-initiated logout method with generic OIDC providers besides Keycloak?

Yes, this method applies to generic OIDC providers in ASP.NET Core workflows. It handles robust session termination for any provider requiring an id_token_hint, ensuring secure token handling across platforms.

What are the limitations of relying on stored ID tokens for OIDC logout?

Relying on stored ID tokens requires persisting the token throughout the session, which necessitates strict validation to prevent token exposure. If the token is missing, providers like Keycloak will reject the logout request.