generic-oidc-downstream-session-binding

Validate Prism downstream sessions for generic OIDC tenants by comparing issuer and client identity claims.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill resolves authentication mismatches where Prism downstream sessions fail to bind correctly for generic OIDC providers, such as local Keycloak instances, because they lack Entra-specific tenant claims.

Core Features & Use Cases

  • Provider-Agnostic Binding: Enables tenant isolation for non-Entra OIDC providers by validating issuer and client identity claims.
  • Session Gate Testing: Provides a framework for unit testing authorization headers to prevent regression in UI flows.
  • Use Case: When deploying a multi-tenant Umbraco Prism instance using local Keycloak, this skill ensures that user sessions are correctly mapped to the appropriate tenant context without relying on Entra-specific metadata.

Quick Start

Apply the generic oidc downstream session binding logic to your PrismContext implementation to validate issuer and audience claims for your specific OIDC provider.

Frequently Asked Questions about generic-oidc-downstream-session-binding

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

FAQPage Schema
How do I bind OIDC sessions to tenants without Entra-specific claims?

To bind OIDC sessions without Entra-specific claims, you validate principal issuer and client identity claims against configured authority settings. This approach enables secure multi-tenant isolation for generic providers like Keycloak.

Why do Prism downstream sessions fail for generic OIDC providers?

Prism downstream sessions fail for generic OIDC providers because they lack Entra-specific tenant ID claims. This mismatch prevents correct user session mapping during multi-tenant authentication.

How do I configure multi-tenant isolation in Umbraco using Keycloak?

You configure multi-tenant isolation in Umbraco by applying generic OIDC downstream session binding logic to your PrismContext implementation. This validates issuer and audience claims for your specific Keycloak provider.

Can I use generic OIDC downstream session binding for non-Entra providers?

Yes, you can use generic OIDC downstream session binding for non-Entra providers. It enables provider-agnostic tenant isolation by validating issuer and client identity claims instead of relying on Entra-specific metadata.

What do I need to implement for Prism authorization pipeline audience validation?

For Prism authorization pipeline audience validation, you need to implement issuer normalization and audience validation within the pipeline. This ensures downstream sessions are securely bound to the correct Prism tenants.