Manage scripts (REST)
AM provides the scripts
endpoint to manage scripts using REST calls.
The following actions are available:
User-created scripts are realm-specific, hence the URI for the scripts' API can contain a realm component,
such as /json{/realm}/scripts
.
If the realm is not specified in the URI, the top level realm is used.
AM includes some global example scripts that can be used in any realm. |
Scripts are represented in JSON and take the following form.
Scripts are built from standard JSON objects and values
(strings, numbers, objects, sets, arrays, true
, false
, and null
).
Each script has a system-generated universally unique identifier (UUID),
which must be used when modifying existing scripts. Renaming a script will not affect the UUID:
{
"_id": "7e3d7067-d50f-4674-8c76-a3e13a810c33",
"name": "Scripted Module - Server Side",
"description": "Default global script for server side Scripted Authentication Module",
"script": "dmFyIFNUQVJUX1RJ...",
"language": "JAVASCRIPT",
"context": "AUTHENTICATION_SERVER_SIDE",
"createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org",
"creationDate": 1433147666269,
"lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org",
"lastModifiedDate": 1433147666269
}
The values for the fields shown in the example are explained below:
_id
-
The UUID that AM generates for the script.
name
-
The name provided for the script.
description
-
An optional text string to help identify the script.
script
-
The source code of the script. The source code is in UTF-8 format and encoded into Base64.
For example, a script such as the following:
var a = 123; var b = 456;
When encoded into Base64 becomes:
dmFyIGEgPSAxMjM7IA0KdmFyIGIgPSA0NTY7
language
-
The language the script is written in -
JAVASCRIPT
orGROOVY
.Language Support per Context Script Context Supported Languages POLICY_CONDITION
JAVASCRIPT
,GROOVY
AUTHENTICATION_SERVER_SIDE
JAVASCRIPT
,GROOVY
AUTHENTICATION_CLIENT_SIDE
JAVASCRIPT
OIDC_CLAIMS
JAVASCRIPT
,GROOVY
AUTHENTICATION_TREE_DECISION_NODE
JAVASCRIPT
,GROOVY
context
-
The context type of the script.
Supported values are:
POLICY_CONDITION
-
Policy Condition
AUTHENTICATION_SERVER_SIDE
-
Server-side Authentication
AUTHENTICATION_CLIENT_SIDE
-
Client-side Authentication
Client-side scripts must be written in JavaScript. OIDC_CLAIMS
-
OIDC Claims
AUTHENTICATION_TREE_DECISION_NODE
-
Authentication scripts used by Scripted Tree Decision authentication nodes.
createdBy
-
A string containing the universal identifier DN of the subject that created the script.
creationDate
-
An integer containing the creation date and time, in ISO 8601 format.
lastModifiedBy
-
A string containing the universal identifier DN of the subject that most recently updated the resource type.
If the script has not been modified since it was created, this property will have the same value as
createdBy
. lastModifiedDate
-
A string containing the last modified date and time, in ISO 8601 format.
If the script has not been modified since it was created, this property will have the same value as
creationDate
.