client-authentication

Authenticate OAuth 2.0 and OpenID Connect clients via seven methods.

7|1|Updated Feb 12, 2023
One-click install
npx skills add https://github.com/hirokazu-kobayashi-koba-hiro/idp-server --skill client-authentication
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: client-authentication
Source: https://github.com/hirokazu-kobayashi-koba-hiro/idp-server/tree/main/.claude/skills/client-authentication
Command: npx skills add https://github.com/hirokazu-kobayashi-koba-hiro/idp-server --skill client-authentication

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Authenticate client identities at OAuth 2.0 / OpenID Connect token endpoints by supporting multiple client authentication methods.

Core Features & Use Cases

  • Supports 7 client authentication methods: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, none.
  • JWT Assertion validation: validates JWS signatures and ensures correct iss, sub, and aud against the token endpoint and JWKS.
  • mTLS support: validates client certificates against Subject DN or full certificate with flexible matching.
  • Use Case: Deploy on an enterprise IdP to securely authenticate confidential clients during token requests and tenant-specific configurations.

Quick Start

Configure and run the IdP server with the client-authentication module enabled to begin validating token endpoint client credentials.

Frequently Asked Questions about client-authentication

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

FAQPage Schema
What client authentication methods are supported at the OAuth 2.0 token endpoint?

OAuth 2.0 token endpoints support seven client authentication methods: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, and none, ensuring flexible identity verification for confidential clients.

How do I validate JWT assertions for OpenID Connect client authentication?

JWT assertion validation involves verifying JWS signatures and checking the iss, sub, and aud claims against the token endpoint and JWKS. This ensures the JWT was issued by the correct authenticated client for the intended recipient.

How does mTLS client authentication work for enterprise IdP deployments?

mTLS client authentication validates client certificates against either the Subject DN or the full certificate with flexible matching, enforcing strict per-tenant client verification directly within the enterprise IdP core.

Can I enforce strict per-tenant client verification across multiple authentication methods?

Strict per-tenant client verification is enforced across multiple authentication methods by handling JWT assertions and mTLS certificate checks within the IdP core and extension modules, supporting enterprise multi-tenant deployments.

What is the difference between private_key_jwt and tls_client_auth for client authentication?

private_key_jwt authenticates clients by validating a signed JWT assertion against JWKS, while tls_client_auth validates the client certificate directly during the TLS handshake, both avoiding the transmission of shared secrets.

Do I need an IdP server to use client_secret_jwt and private_key_jwt authentication?

An IdP server configured with the client-authentication module is required to validate JWT assertions for client_secret_jwt and private_key_jwt, handling JWS signature validation and JWKS lookups during token requests.