Example Scripts
The scripts below are executed by the Onegini Extension Engine during Custom Registration.
Refer to the Onegini Extension Engine documentation for help writing scripts. It is recommended to use properties for variables that differ per environment, e.g. URLs, and/or contain sensitive data, e.g. passwords.
Init Script
function execute(requestPayload) {
return {
status: 2000,
responsePayload: ""
};
}
Complete Script
The complete script requires a user
object with an id
property defined to be returned. Property amr
is optional (requires
extension-engine 2.5.0
or greater.
function execute(requestPayload) {
var userId = "userId_" + Date.now();
return {
status: 2000,
user: {
id: userId,
amr: ["mfa", "pwd"]
}
};
}
Backchannel Communication Script
function execute(requestPayload) {
var userId = requestPayload.userId;
var uniqueIdentifier = userId+"_"+Date.now();
CACHE.store(uniqueIdentifier, userId); //Another script could use CACHE.fetch(...) to retrieve the stored value
return {
status: 2000,
responsePayload: uniqueIdentifier
};
}
Status Codes
When writing a custom script, these status code ranges should be used.
Status | Description |
---|---|
2xxx | Success |
4xxx | Failed, user can try again |
5xxx | Failed, cleanup actions should be triggered and user must start at beginning again |