Skip to main content

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.