generic-oidc-downstream-bearer-validation

Validate bearer tokens from generic OIDC issuers in ASP.NET Core middleware.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill resolves authentication failures in downstream APIs that occur when bearer tokens from generic OIDC issuers, such as Keycloak, are rejected due to mismatched issuer URLs or client-binding logic.

Core Features & Use Cases

  • Issuer Alignment: Ensures downstream services trust the correct HTTPS proxy authority rather than internal container URLs.
  • Claim Validation: Safely handles optional JWT claims like azp or aud to prevent 401 errors during token validation.
  • Use Case: When a Prism-based mobile app or frontend calls a secondary microservice, this Skill provides the configuration patterns to ensure the secondary service correctly validates the user's identity without triggering false-positive authentication rejections.

Quick Start

Apply the generic OIDC downstream bearer validation patterns to your ASP.NET Core authentication middleware by configuring the issuer and claim lookup logic as defined in the PrismAuthExtensions.

Frequently Asked Questions about generic-oidc-downstream-bearer-validation

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

FAQPage Schema
Why does bearer token validation fail in downstream APIs when using Keycloak?

Bearer token validation in downstream APIs fails when mismatched issuer URLs or missing non-standard claims like azp cause validators to reject tokens from multi-tenant architectures. Aligning the HTTPS proxy authority and adjusting claim lookup logic prevents these false-positive authentication rejections.

How do I validate OIDC bearer tokens in ASP.NET Core for multi-tenant microservices?

Validate OIDC bearer tokens in ASP.NET Core by configuring the authentication middleware to align issuer authorities and handle optional JWT claims. Apply validation patterns to ensure secondary microservices correctly accept tokens without triggering 401 errors from mismatched client-binding logic.

What causes a 401 unauthorized error when a frontend calls a secondary microservice with a JWT?

A 401 error occurs when the secondary microservice rejects the JWT due to mismatched issuer authorities or missing optional claims like aud or azp. Standardizing the validator-level checks ensures the downstream service correctly validates the user's identity.

Does this bearer token validation approach support generic OIDC issuers or only Keycloak?

This validation approach supports generic OIDC issuers alongside Keycloak-style identity providers. It standardizes bearer token validation across multi-tenant service architectures by implementing robust validator-level checks that handle mismatched authorities and non-standard claims.

How do I handle missing azp claims during JWT validation in downstream services?

Handle missing azp claims during JWT validation by configuring the authentication middleware to safely process optional claims. This prevents false-positive authentication rejections in downstream services while maintaining secure consistent identity validation across multi-tenant architectures.