Class: Akami::WSSE
- Inherits:
-
Object
- Object
- Akami::WSSE
- Defined in:
- lib/akami/wsse.rb,
lib/akami/wsse/certs.rb,
lib/akami/wsse/signature.rb,
lib/akami/wsse/verify_signature.rb
Overview
Akami::WSSE
Building Web Service Security.
Defined Under Namespace
Classes: Certs, InvalidSignature, Signature, VerifySignature
Constant Summary collapse
- WSE_NAMESPACE =
Namespace for WS Security Secext.
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
- WSU_NAMESPACE =
Namespace for WS Security Utility.
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
- PASSWORD_TEXT_URI =
PasswordText URI.
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"
- PASSWORD_DIGEST_URI =
PasswordDigest URI.
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"
- BASE64_URI =
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
Instance Attribute Summary collapse
-
#created_at ⇒ Object
Returns the value of attribute created_at.
-
#digest ⇒ Object
writeonly
Sets the attribute digest.
-
#expires_at ⇒ Object
Returns the value of attribute expires_at.
-
#password ⇒ Object
Returns the value of attribute password.
-
#signature ⇒ Object
Returns the value of attribute signature.
-
#username ⇒ Object
Returns the value of attribute username.
-
#verify_response ⇒ Object
Returns the value of attribute verify_response.
Instance Method Summary collapse
-
#[](key) ⇒ Object
Returns a value from the WSSE Hash.
-
#[]=(key, value) ⇒ Object
Sets a value on the WSSE Hash.
-
#body_attributes ⇒ Object
Hook for Soap::XML that allows us to add attributes to the env:Body tag.
-
#credentials(username, password, digest = false) ⇒ Object
Sets authentication credentials for a wsse:UsernameToken header.
-
#digest? ⇒ Boolean
Returns whether to use WSSE digest.
- #sign_with=(klass) ⇒ Object
- #signature? ⇒ Boolean
-
#timestamp=(timestamp) ⇒ Object
Sets whether to generate a wsu:Timestamp header.
-
#timestamp? ⇒ Boolean
Returns whether to generate a wsu:Timestamp header.
-
#to_xml ⇒ Object
Returns the XML for a WSSE header.
-
#username_token? ⇒ Boolean
Returns whether to generate a wsse:UsernameToken header.
Instance Attribute Details
#created_at ⇒ Object
Returns the value of attribute created_at.
50 51 52 |
# File 'lib/akami/wsse.rb', line 50 def created_at @created_at end |
#digest=(value) ⇒ Object (writeonly)
Sets the attribute digest
65 66 67 |
# File 'lib/akami/wsse.rb', line 65 def digest=(value) @digest = value end |
#expires_at ⇒ Object
Returns the value of attribute expires_at.
50 51 52 |
# File 'lib/akami/wsse.rb', line 50 def expires_at @expires_at end |
#password ⇒ Object
Returns the value of attribute password.
50 51 52 |
# File 'lib/akami/wsse.rb', line 50 def password @password end |
#signature ⇒ Object
Returns the value of attribute signature.
50 51 52 |
# File 'lib/akami/wsse.rb', line 50 def signature @signature end |
#username ⇒ Object
Returns the value of attribute username.
50 51 52 |
# File 'lib/akami/wsse.rb', line 50 def username @username end |
#verify_response ⇒ Object
Returns the value of attribute verify_response.
50 51 52 |
# File 'lib/akami/wsse.rb', line 50 def verify_response @verify_response end |
Instance Method Details
#[](key) ⇒ Object
Returns a value from the WSSE Hash.
33 34 35 |
# File 'lib/akami/wsse.rb', line 33 def [](key) hash[key] end |
#[]=(key, value) ⇒ Object
Sets a value on the WSSE Hash.
38 39 40 |
# File 'lib/akami/wsse.rb', line 38 def []=(key, value) hash[key] = value end |
#body_attributes ⇒ Object
Hook for Soap::XML that allows us to add attributes to the env:Body tag
83 84 85 86 87 88 89 |
# File 'lib/akami/wsse.rb', line 83 def body_attributes if signature? signature.body_attributes else {} end end |
#credentials(username, password, digest = false) ⇒ Object
Sets authentication credentials for a wsse:UsernameToken header. Also accepts whether to use WSSE digest authentication.
44 45 46 47 48 |
# File 'lib/akami/wsse.rb', line 44 def credentials(username, password, digest = false) self.username = username self.password = password self.digest = digest end |
#digest? ⇒ Boolean
Returns whether to use WSSE digest. Defaults to false
.
61 62 63 |
# File 'lib/akami/wsse.rb', line 61 def digest? !!@digest end |
#sign_with=(klass) ⇒ Object
52 53 54 |
# File 'lib/akami/wsse.rb', line 52 def sign_with=(klass) @signature = klass end |
#signature? ⇒ Boolean
56 57 58 |
# File 'lib/akami/wsse.rb', line 56 def signature? !!@signature end |
#timestamp=(timestamp) ⇒ Object
Sets whether to generate a wsu:Timestamp header.
78 79 80 |
# File 'lib/akami/wsse.rb', line 78 def () @wsu_timestamp = end |
#timestamp? ⇒ Boolean
Returns whether to generate a wsu:Timestamp header.
73 74 75 |
# File 'lib/akami/wsse.rb', line 73 def created_at || expires_at || @wsu_timestamp end |
#to_xml ⇒ Object
Returns the XML for a WSSE header.
92 93 94 95 96 97 98 99 |
# File 'lib/akami/wsse.rb', line 92 def to_xml h = wsse_signature if signature? && signature.have_document? h = merge_hashes_with_keys(h, ) if h = merge_hashes_with_keys(h, wsse_username_token) if username_token? return '' unless h Gyoku.xml h end |
#username_token? ⇒ Boolean
Returns whether to generate a wsse:UsernameToken header.
68 69 70 |
# File 'lib/akami/wsse.rb', line 68 def username_token? username && password end |