Module: WSDL::Security::IdGenerator

Defined in:
lib/wsdl/security/id_generator.rb

Overview

Utility module for generating unique WS-Security element IDs.

This provides a consistent way to generate unique identifiers for WS-Security elements like Timestamp, UsernameToken, and BinarySecurityToken.

Examples:

Generate a Timestamp ID

IdGenerator.for('Timestamp')
# => "Timestamp-550e8400-e29b-41d4-a716-446655440000"

Generate a UsernameToken ID

IdGenerator.for('UsernameToken')
# => "UsernameToken-6ba7b810-9dad-11d1-80b4-00c04fd430c8"

Class Method Summary collapse

Class Method Details

.for(prefix) ⇒ String

Generates a unique ID with the given prefix.

The ID is generated using a UUID v4, which provides sufficient uniqueness for WS-Security message elements.

Examples:

IdGenerator.for('Body')
# => "Body-123e4567-e89b-12d3-a456-426614174000"

Parameters:

  • the prefix for the ID (e.g., 'Timestamp', 'UsernameToken')

Returns:

  • a unique identifier in the format "prefix-uuid"



33
34
35
# File 'lib/wsdl/security/id_generator.rb', line 33

def self.for(prefix)
  "#{prefix}-#{SecureRandom.uuid}"
end