Building Web Service Security.
Akami is available through Rubygems and can be installed via:
$ gem install akami
wsse = Akami.wsseSet the credentials for wsse:UsernameToken basic auth:
wsse.credentials "username", "password"Set the credentials for wsse:UsernameToken digest auth:
wsse.credentials "username", "password", :digestEnable wsu:Timestamp headers. wsu:Created is automatically set to Time.now
and wsu:Expires is set to Time.now + 60:
wsse.timestamp = trueManually specify the values for wsu:Created and wsu:Expires:
wsse.created_at = Time.now
wsse.expires_at = Time.now + 60Akami is based on an autovivificating Hash. So if you need to add custom tags, you can add them.
wsse["wsse:Security"]["wsse:UsernameToken"] = { "Organization" => "ACME" }When generating the XML for the request, this Hash will be merged with another Hash containing
all the default tags and values.
This way you might digg into some code, but then you can even overwrite the default values.
wsse.to_xml