procedures-docs

Curity Procedures API

This is the Curity Javascript Procedures API Documentation.

Procedures are used in many places in Curity to extend the server functionality.

For example, there are procedures for issuing OAuth tokens, to handle server events (e.g. when an user authenticates, or when an OAuth client obtains an access token), to transform the claims that are added to certain tokens, and many more.

A procedure normally contains a single function called result which is called by the server with a context object whose type depends on the type of procedure.

Below is an example OAuth access token issuer procedure:

/**
* @param {se.curity.identityserver.procedures.context.OpenIdConnectAuthorizeTokenProcedureContext} context - the procedure context
*/
function result(context) {
var delegationData = context.getDefaultDelegationData();
var issuedDelegation = context.delegationIssuer.issue(delegationData);

var accessTokenData = context.getDefaultAccessTokenData();
var issuedAccessToken = context.accessTokenIssuer.issue(accessTokenData, issuedDelegation);

return {
scope: accessTokenData.scope,
access_token: issuedAccessToken,
token_type: 'bearer',
expires_in: secondsUntil(accessTokenData.exp)
};
}

For more information about Curity Procedures, please refer to the Scripting Guide in the Curity Documentation.