Skip to main content

%SYS.OAuth2.Request

persistent class %SYS.OAuth2.Request extends %Library.Persistent

SQL Table Name: %SYS_OAuth2.Request

%SYS.OAuth2.Request creates and manages the request JWT needed to support the request and request_uri parameters that are defined in section 6 of OpenID Connect Core document.

Property Inventory

Method Inventory

Properties

property ApplicationName as %String (MAXLEN = 64) [ Required ];
The name of the client application associated with this request.
Property methods: ApplicationNameDisplayToLogical(), ApplicationNameGet(), ApplicationNameGetStored(), ApplicationNameIsValid(), ApplicationNameLogicalToDisplay(), ApplicationNameLogicalToOdbc(), ApplicationNameNormalize(), ApplicationNameSet()
property JWT as %String (MAXLEN = 16384);
The JWT created from the request object.
Property methods: JWTDisplayToLogical(), JWTGet(), JWTGetStored(), JWTIsValid(), JWTLogicalToDisplay(), JWTLogicalToOdbc(), JWTNormalize(), JWTSet()
property RequestName as %String [ Required ];
The name of this request object.
Property methods: RequestNameDisplayToLogical(), RequestNameGet(), RequestNameGetStored(), RequestNameIsValid(), RequestNameLogicalToDisplay(), RequestNameLogicalToOdbc(), RequestNameNormalize(), RequestNameSet()
property State as %String (MAXLEN = 1024);
The base64 encoded random state associated with the request. The state is included as a fragment of in the URL in order to ensure cached requests are retrieved.
Property methods: StateDisplayToLogical(), StateGet(), StateGetStored(), StateIsValid(), StateLogicalToDisplay(), StateLogicalToOdbc(), StateNormalize(), StateSet()
property UpdateTime as %Integer;
The time when the request object was last updated.
Property methods: UpdateTimeDisplayToLogical(), UpdateTimeGet(), UpdateTimeGetStored(), UpdateTimeIsValid(), UpdateTimeLogicalToDisplay(), UpdateTimeNormalize(), UpdateTimeSet()

Methods

classmethod CleanupRequestObjects(applicationName As %String, interval As %Integer) as %Status
Clean up the request object list by deleting any request object that has not been updated for the specified client in interval seconds
classmethod DeleteRequestObject(applicationName As %String, requestName As %String) as %Status
Delete the request object that is specified by applicationName and requestName.
method GetJWT() as %String
Get the JWT associated with this request object
method GetURL(Output sc As %Status) as %String
Get the URL associated with this persistent request object.
classmethod MakeRequestJWT(applicationName As %String, ByRef properties As %String, Output sc As %Status) as %String
Create and return a JWT based on the specified properties.
The JWT may be signed or encoded by the client configuration that is specified by applicationName.
To add a request parameter which is a JSON object, you must create a properties element which is a %DynamicObject. For example the claims parameter that is defined by OpenID Connect.
classmethod OpenRequestObject(applicationName As %String, requestName As %String, Output sc As %Status) as %SYS.OAuth2.Request
Open a persistent %SYS.OAuth2.Request object which contains a JWT identified by applicationName and requestName.
classmethod UpdateRequestObject(applicationName As %String, requestName As %String, ByRef properties As %String, Output sc As %Status) as %SYS.OAuth2.Request
Create or update a persistent %SYS.OAuth2.Request object which contains a JWT based on the specified properties. The new request object is both saved and returned by this method.
The JWT may be signed or encoded by the client configuration that is specified by applicationName.
To add a request parameter which is a JSON object, you must create a properties element which is a %DynamicObject. For example the claims parameter that is defined by OpenID Connect.

Indexes

index (RequestIndex on ApplicationName,RequestName) [IdKey, Type = key, Unique];
The IDKEY for the request object class.
Index methods: RequestIndexCheck(), RequestIndexDelete(), RequestIndexExists(), RequestIndexOpen(), RequestIndexSQLCheckUnique(), RequestIndexSQLExists(), RequestIndexSQLFindPKeyByConstraint(), RequestIndexSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods

Storage

Storage Model: CacheStorage (%SYS.OAuth2.Request)

^%SYS.OAuth2.RequestD(ID)
=
%%CLASSNAME
ApplicationName
RequestName
State
JWT
UpdateTime
FeedbackOpens in a new tab