Class: OmniauthOpenidFederation::FederationEndpoint::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/omniauth_openid_federation/federation_endpoint.rb

Overview

Configuration class for FederationEndpoint Supports automatic key provisioning with separate signing and encryption keys Supports both openid_provider (OP) and openid_relying_party (RP) entity types

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 762

def initialize
  @issuer = nil
  @subject = nil
  @private_key = nil # Signing key (DEV/TESTING: can be same as encryption, PRODUCTION: use separate signing_key)
  @jwks = nil
  @metadata = nil
  @expiration_seconds = 86400 # 24 hours
  @kid = nil
  # Entity type configuration
  @entity_type = :openid_relying_party # Default to RP (primary use case)
  # Automatic key provisioning defaults
  @signing_key = nil # RECOMMENDED: Separate signing key for production
  @encryption_key = nil # RECOMMENDED: Separate encryption key for production
  @auto_provision_keys = true # Enable automatic key provisioning
  @entity_statement_path = nil # Path to cached entity statement (supports automatic key rotation)
  @key_rotation_period = nil # Key rotation period in seconds (nil = no automatic rotation)
  # JWKS endpoint defaults
  @current_jwks = nil
  @current_jwks_proc = nil
  # Signed JWKS endpoint defaults
  @signed_jwks_payload = nil
  @signed_jwks_payload_proc = nil
  @signed_jwks_expiration_seconds = 86400 # 24 hours
  @signed_jwks_signing_kid = nil
  # Caching defaults
  @jwks_cache_ttl = 3600 # 1 hour
  # Fetch Endpoint defaults
  @subordinate_statements = nil # Hash of subject_entity_id => {metadata, metadata_policy, constraints}
  @subordinate_statements_proc = nil # Proc that takes subject_entity_id and returns Subordinate Statement JWT
end

Instance Attribute Details

#authority_hintsObject

Authority hints configuration (for Entity Configuration)



760
761
762
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 760

def authority_hints
  @authority_hints
end

#auto_provision_keysObject

Automatic key provisioning configuration



750
751
752
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 750

def auto_provision_keys
  @auto_provision_keys
end

#current_jwksObject

JWKS endpoint configuration



752
753
754
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 752

def current_jwks
  @current_jwks
end

#current_jwks_procObject

JWKS endpoint configuration



752
753
754
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 752

def current_jwks_proc
  @current_jwks_proc
end

#encryption_keyObject

Automatic key provisioning configuration



750
751
752
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 750

def encryption_key
  @encryption_key
end

#entity_statement_pathObject

Automatic key provisioning configuration



750
751
752
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 750

def entity_statement_path
  @entity_statement_path
end

#entity_typeObject

Entity type configuration



748
749
750
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 748

def entity_type
  @entity_type
end

#expiration_secondsObject

Returns the value of attribute expiration_seconds.



746
747
748
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 746

def expiration_seconds
  @expiration_seconds
end

#issuerObject

Returns the value of attribute issuer.



746
747
748
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 746

def issuer
  @issuer
end

#jwksObject

Returns the value of attribute jwks.



746
747
748
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 746

def jwks
  @jwks
end

#jwks_cache_ttlObject

Caching configuration



756
757
758
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 756

def jwks_cache_ttl
  @jwks_cache_ttl
end

#key_rotation_periodObject

Automatic key provisioning configuration



750
751
752
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 750

def key_rotation_period
  @key_rotation_period
end

#kidObject

Returns the value of attribute kid.



746
747
748
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 746

def kid
  @kid
end

#metadataObject

Returns the value of attribute metadata.



746
747
748
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 746

def 
  @metadata
end

#private_keyObject

Returns the value of attribute private_key.



746
747
748
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 746

def private_key
  @private_key
end

#signed_jwks_expiration_secondsObject

Signed JWKS endpoint configuration



754
755
756
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 754

def signed_jwks_expiration_seconds
  @signed_jwks_expiration_seconds
end

#signed_jwks_payloadObject

Signed JWKS endpoint configuration



754
755
756
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 754

def signed_jwks_payload
  @signed_jwks_payload
end

#signed_jwks_payload_procObject

Signed JWKS endpoint configuration



754
755
756
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 754

def signed_jwks_payload_proc
  @signed_jwks_payload_proc
end

#signed_jwks_signing_kidObject

Signed JWKS endpoint configuration



754
755
756
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 754

def signed_jwks_signing_kid
  @signed_jwks_signing_kid
end

#signing_keyObject

Automatic key provisioning configuration



750
751
752
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 750

def signing_key
  @signing_key
end

#subjectObject

Returns the value of attribute subject.



746
747
748
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 746

def subject
  @subject
end

#subordinate_statementsObject

Fetch Endpoint configuration (for serving Subordinate Statements)



758
759
760
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 758

def subordinate_statements
  @subordinate_statements
end

#subordinate_statements_procObject

Fetch Endpoint configuration (for serving Subordinate Statements)



758
759
760
# File 'lib/omniauth_openid_federation/federation_endpoint.rb', line 758

def subordinate_statements_proc
  @subordinate_statements_proc
end