Module: OmniAuth
- Defined in:
- lib/omniauth_openid_federation.rb,
lib/omniauth_openid_federation/strategy.rb
Overview
OpenID Federation strategy for OAuth 2.0 / OpenID Connect providers This strategy implements OpenID Federation features for providers requiring compliance with regulatory requirements and security best practices.
Features implemented:
-
Signed Request Objects (RFC 9101, Section 12.1.1.1.1) - Required for secure authorization requests
-
ID Token Encryption/Decryption (RSA-OAEP + A128CBC-HS256) - Required for token security
-
Client Assertion (private_key_jwt) - Required for token endpoint authentication
-
OpenID Federation Entity Statements (Section 3) - Optional but recommended
-
Signed JWKS Support (Section 5.2.1.1) - Required for key rotation compliance
Features implemented:
-
Trust Chain Resolution (Section 10) - Resolves trust chains when trust_anchors configured
-
Metadata Policy Merging (Section 5.1) - Applies metadata policies from trust chain
-
Automatic Client Registration (Section 11.1) - Uses Entity ID as client_id
Features NOT implemented (optional):
-
Trust marks (Section 7) - Optional feature (parsed but not validated)
-
Federation endpoints (Section 8) - Server-side feature (Fetch Endpoint implemented separately)
This strategy uses the openid_connect gem and extends it with federation-specific features.
Defined Under Namespace
Modules: Strategies