WSSO scripting language Scripting language The scripting language is fully compatible with ECMAScript 3rd edition plus a small set of new objects and methods. Before running the script, Soffid WSSO will create some global variables referring to the request of the user agent and content generated by the application server. Here are the functions and classes implemented: Global Functions debug text: string Sends a message to the apache log file env text: string returns string Gets the value of an environment variable logout Log out of Web Single Sign on session. Any further access to a protected resource will ask the user for credentials. Global objects request Contains a Request object referring the request made by the user agent. response Contains a Response object referring the data generated by the application server secretStore Contains the secrets of the user, including account names and passwords. document Contains a Document object referring the generated page. secretStore object The object is available from authenticated requests and provides access to the secrets of the user. Any usage of secretStore object on an anonymous request will produce an undefined value getSecret text: string returns string Gets the value of a secret getAccounts system: string return: array Returns the list of accounts that the user is allowed to use on a particular system getAccounts system: string returns string Returns the first account that the user is allowed to use on a particular system. getPassword system: string account: string returns string Returns the actual password for the specifieds account and system. Request class The Request class encapsulates the request made by the browser and forwarded to the application server. Attributes method string Used method (POST, GET or others) url string Contains the requested URL, including scheme, host and port headers Array Headers sent with the request. content String Data posted by the user agent on POST requests. Due to memory usage limits, its content may not be complete. params Array Array containing the request parameters. Methods clone returns Request Create a new request from the current. The current response will be canceled and a new request will be processed Response class The class encapsulates the request response sent by the server application. Attributes document Document Document generated by the server headers Array Vector header with the request Document class Contains the page generated by the application server. Thus, scripts can access the website and its DOM tree in runtime. The document object implements a subset of the standard DOM HtmlDocument. Attributes url string Full URL of the document. title string Title of document. cookie string Contains the cookies sent by the user agent anchors Collection Contains elements with tag A. forms Collection Contains elements with tag FORM. images Collection Contains elements with tag IMG. links Collection Contains elements with tags A and AREA. documentElement Item Contains the root element, usually and HTML tag element. content string Full content of the document in string format Methods getElementById id: string Element returns Find the first element with the specified ID getElementsByTagName tag: string returns Collection Find all elements with the specified tag Element class Obtained from the document object, implements a subset of the DOM class HtmlElement. Attributes childNodes Collection The vector containing children elements disabled boolean Indicator of whether the element is disabled or not id string The id attribute of the element tagName string Tag of the element parentNode Item Parent element Methods getAttribute name: string returns string Returns the value of the specified attribute name. setAttribute name: string value: string Ses the value of the specified attribute. removeAttribute name: string Remove the specified attribute setText value: string Changes the inner content of the element getText returns string Gets the element inner content. getElementsByTagName tag: string returns Collection Find all children's elements with the specified tag addChild tag: string before: element (opt) returns element Creates a new item with the specified tag. If a node is specified, the new element will be ordered just before the specified item in the child list remove Removes the node from  the document Collection class The document object implements a subset of the standard DOM HTMLCollection Attributes length Long Number of items in the collection Methods item id: long returns Element Gets the n-position element within the collection. The first element is numbered as 0. namedItem id: string returns Element Search for an item with the given name. First, search for an element with a matching id attribute. If none is found, search for an element with a matching name attribute.