IRISLIB database
Authenticate Class Reference

OAuth2.Server.Authenticate acts as the subclass for all user written Authenticate classes as well as being the default Authenticate class. More...

Inheritance diagram for Authenticate:
Collaboration diagram for Authenticate:

Static Public Member Functions

_.Library.Status AfterAuthenticate (_.Library.ArrayOfDataTypes scope, _.OAuth2.Server.Properties properties)
 The AfterAuthenticate method of the Authenticate class is called after any authentication. More...
 
_.Library.Status BeforeAuthenticate (_.Library.ArrayOfDataTypes scope, _.OAuth2.Server.Properties properties)
 The BeforeAuthenticate method of the Authenticate class is called before any authentication takes place. More...
 
_.Library.Status DelegatedAuthentication (_.OAuth2.Server.Properties properties, _.Library.String localRedirectURL, _.Library.String delegatedAuthenticationURL)
 DelegatedAuthentication can be used to redirect the flow of the authorization process to another authentication system, such as an OpenID Connect. More...
 
_.Library.Status DirectLogin (_.Library.ArrayOfDataTypes scope, _.OAuth2.Server.Properties properties, _.Library.String username, _.Library.String password)
 If DirectLogin chooses to do authentication by some means other than display of the user login form,. More...
 
_.Library.Status Display2FA (_.Library.String authorizationCode, _.Library.ArrayOfDataTypes scope, _.OAuth2.Server.Properties properties, _.Library.Integer loginCount)
 Display2fa is responsible for writing out the HTML to display an HTML form to allow the user to perform. More...
 
_.Library.Status DisplayLogin (_.Library.String authorizationCode, _.Library.ArrayOfDataTypes scope, _.OAuth2.Server.Properties properties, _.Library.Integer loginCount)
 DisplayLogin is responsible for writing out the HTML to display the user login form. More...
 
_.Library.Status DisplayPermissions (_.Library.String authorizationCode, _.Library.ArrayOfDataTypes scopeArray, _.Library.ArrayOfDataTypes currentScopeArray, _.OAuth2.Server.Properties properties)
 DisplayPermissions is responsible for writing out the HTML to display the user accept permissions form. More...
 
_.Library.List GetLanguageList ()
 The GetLanguageList method returns a comma separated list of the languages that are supported. More...
 
- Static Public Member Functions inherited from Page
_.Library.Status ConvertParameter (_.Library.String url, _.Library.String name, _.Library.String value)
 You pass this the <parameter>url</parameter> of the page you are going to and a. More...
 
_.Library.Binary Decrypt (_.Library.String data)
 Decrypts the input string using the session.Key value that is unique to. More...
 
_.Library.String Encrypt (_.Library.Binary data)
 Encrypts the input string using the session.Key value that is unique to this. More...
 
_.Library.String EscapeHTML (in)
 This method converts input HTML text into Escaped HTML text.
 
_.Library.String EscapeURL (_.Library.String in, _.Library.String charset)
 This method converts the in input URL string into Escaped URL string. More...
 
_.Library.String HyperEventCall (_.Library.String methodName, _.Library.String args, _.Library.Integer type, _.Library.Boolean mobile)
 This method returns the string that needs to be written to the current. More...
 
_.Library.String HyperEventHead (_.Library.Boolean iframeOnly, _.Library.Boolean strict, _.Library.Boolean optionalBroker)
 This method returns the string that needs to be written to the current. More...
 
 Include (_.Library.String url)
 Include another csp page or file in the output at this point. More...
 
_.Library.String InsertHiddenField (_.Library.String url, _.Library.String name, _.Library.String value, _.Library.String extra)
 Inserts a '<input type="hidden" name="Name" value="Value">' tag into the current document. More...
 
_.Library.String InsertHiddenFields (_.Library.String url, _.Library.String query)
 Return the string containing the hidden form tags. More...
 
_.Library.Boolean IsPrivate ()
 Returns 1 if this page is in fact a private page (see <parameter>PRIVATE</parameter>).
 
_.Library.String Link (_.Library.String link, _.Library.String query, _.Library.Boolean addQ)
 Tranforms the link specified by link into a URL and returns it as a string. More...
 
_.Library.Status OnHTTPHeader (_.Library.Boolean OutputBody)
 Event handler for PAGE event: this is invoked in order to
More...
 
_.Library.Status OnPage ()
 Event handler for PAGE event: this is invoked in order to
More...
 
 OnPageError (_.Library.Status sc)
 Event handler for any error that occurs on the page. More...
 
 OnPostHTTP ()
 Event handler for POSTPAGE event: this is invoked after the data. More...
 
_.Library.Status OnPostHyperEvent (_.Library.String class, _.Library.String method)
 Event handler which is invoked after a hyperevent method is called on this page.
 
_.Library.Boolean OnPreHTTP ()
 Event handler for PreHTTP event: this is invoked before. More...
 
_.Library.Status OnPreHyperEvent (_.Library.String class, _.Library.String method)
 Event handler which is invoked before a hyperevent method is called on this page. More...
 
_.Library.Status Page (_.Library.Boolean skipheader)
 Process a request to serve a CSPPage. More...
 
_.Library.String QuoteJS (in)
 This method converts input string into quoted JavaScript literal.
 
_.Library.String RewriteURL (_.Library.String url)
 This method will rewrite a URL to use #url()# if needed.
 
 ShowError (_.Library.Status sc)
 Display a <class>Status</class> error code to the CSP Page.
 
 StartTimer (_.Library.String name)
 Used to get performance information on your CSP pages. More...
 
 StopTimer (_.Library.String name)
 Used to time performance information on your CSP pages. More...
 
 ThrowError (_.Library.Status sc)
 Passed a <class>Status</class> code this goes to the error page passing this status code.
 
_.Library.String UnescapeHTML (in)
 This method converts Escaped HTML text into normal HTML text.
 
_.Library.String UnescapeURL (_.Library.String in, _.Library.String charset)
 This method converts the in Escaped URL string back to its original form. More...
 

Static Public Attributes

 DOMAIN = None
 OAuth2.Server.Authenticate acts as the subclass for all user written Authenticate classes as well as being the default Authenticate class. More...
 
- Static Public Attributes inherited from Page
 CHARSET = None
 The <CLASS>CSP.Page</CLASS> object serves as an event handler for CSP requests. More...
 
 CONTENTTYPE = None
 Specifies the default content type for the page. More...
 
 CONVERTINPUTSTREAM = None
 Specifies if input request.Content or request.MimeData values are converted from their. More...
 
 CSPFILE = None
 If this page was compiled from a .csp file, then this parameter contains the. More...
 
 CSPSTRICT = None
 The CSPSTRICT parameter is set to 1, if the DOCTYPE indicates that this. More...
 
 CSPURL = None
 This parameter is used to make sure that if multiple. More...
 
 CSPXHTML = None
 The CSPXHTML parameter is set to 1, if the DOCTYPE indicates that this. More...
 
 DOMAIN = None
 The default domain for csp:text, span and div tags. More...
 
 ENCODED = None
 Controls how the query parameters for this page are passed, it can. More...
 
 ERRORPAGE = None
 Specify a custom error page to call if there are any problems with generating this page. More...
 
 EXPIRES = None
 Specified the default value for the response.Expires. More...
 
 NOCHARSETCONVERT = None
 Specifies if we wish to turn off charset conversion for this page. More...
 
 PAGETIMING = None
 If this parameter is true then we automatically record timing statistics of how long it takes to. More...
 
 PRIVATE = None
 Controls the access to the page, it can be set to one of the following:
More...
 
 SECURITYRESOURCE = None
 This is a comma-delimited list of system Resources and associated. More...
 
 TIMINGSLOTS = None
 Used by the timing to decide how many slots a day should be divided up into. More...
 
 UseSession = None
 This parameter controls the CSP session support. More...
 

Detailed Description

OAuth2.Server.Authenticate acts as the subclass for all user written Authenticate classes as well as being the default Authenticate class.

The Authenticate class is used by Authorization Endpoint at OAuth2.Server.Auth to authenticate the user. This class allows the customization of the authentication process.
The following methods may be implemented to override the default in OAuth2.Server: DirectLogin, DisplayLogin and DisplayPermissions.
The scope argument to all of these methods is a ArrayOfDatatypes where the keys are scope values and the values are the display form of the scope value.

The CSS style is defined in DrawStyle.
loginForm is for DisplayLogin
permissionForm is for DisplayPermissions
Customer can modify these CSS to tailor desired look and feel.

Member Function Documentation

◆ AfterAuthenticate()

_.Library.Status AfterAuthenticate ( _.Library.ArrayOfDataTypes  scope,
_.OAuth2.Server.Properties  properties 
)
static

The AfterAuthenticate method of the Authenticate class is called after any authentication.

is completed (including if the authentication is cookie based) to allow the scope or properties associated with the request to be modified based on scope values or request parameters. AfterAuthenticate may add properties to the authentication HTTP response, by adding them to properties.ResponseProperties.

◆ BeforeAuthenticate()

_.Library.Status BeforeAuthenticate ( _.Library.ArrayOfDataTypes  scope,
_.OAuth2.Server.Properties  properties 
)
static

The BeforeAuthenticate method of the Authenticate class is called before any authentication takes place.

to allow the scope or claims associated with the request to be modified based on scope values or request parameters.

◆ DelegatedAuthentication()

_.Library.Status DelegatedAuthentication ( _.OAuth2.Server.Properties  properties,
_.Library.String  localRedirectURL,
_.Library.String  delegatedAuthenticationURL 
)
static

DelegatedAuthentication can be used to redirect the flow of the authorization process to another authentication system, such as an OpenID Connect.

Identity Provider. If it is not null, the resource owner will be redirected to delegatedAuthenticationURL. localRedirectURL is a URL that the delegated authentication service should redirect to after completion in order to reinsert the user back into the original authorization flow. This method may set values of the properties.CustomProperties array that may be used in the ValidateDelegatedAuthentication method of the Validate class.

◆ DirectLogin()

_.Library.Status DirectLogin ( _.Library.ArrayOfDataTypes  scope,
_.OAuth2.Server.Properties  properties,
_.Library.String  username,
_.Library.String  password 
)
static

If DirectLogin chooses to do authentication by some means other than display of the user login form,.

DirectLogin sets the username and password arguments which will later be used to obtain the properties associated with the access token and to generate the token. If username is set to $char(0), then the access_denied error will be returned.
This method may directly look at the request properties and set properties for GenerateAccessToken using the properties array argument.

◆ Display2FA()

_.Library.Status Display2FA ( _.Library.String  authorizationCode,
_.Library.ArrayOfDataTypes  scope,
_.OAuth2.Server.Properties  properties,
_.Library.Integer  loginCount 
)
static

Display2fa is responsible for writing out the HTML to display an HTML form to allow the user to perform.

two factor authentication.The form should include a 2FAToken field and an AuthorizationCode hidden field. The Authorization code hidden field is inserted by Display2fa using the InsertHiddenField method of CSP.Page. The form will normally be submitted using a button named "Login". If it is submitted with a button named "Accept", then the page will skip calling DisplayPermissions to authorize the scopes. If this done, the page should display the requested scopes prior to submitting. If the form is submitted using a button named Cancel, then the authorization process will terminate with an error return of access_denied.
loginCount is the integer count of which login attempt is taking place.
This method may directly look at the request properties and set properties for GenerateAccessToken using the properties array argument.

◆ DisplayLogin()

_.Library.Status DisplayLogin ( _.Library.String  authorizationCode,
_.Library.ArrayOfDataTypes  scope,
_.OAuth2.Server.Properties  properties,
_.Library.Integer  loginCount 
)
static

DisplayLogin is responsible for writing out the HTML to display the user login form.

The login form must contain a Username field, a Password field and an AuthorizationCode hidden field. The Authorization code hidden field is inserted by DisplayLogin using the InsertHiddenField method of CSP.Page. The form will normally be submitted using a button named "Login". If it is submitted with a button named "Accept", then the page will skip calling DisplayPermissions to authorize the scopes. If this done, the page should display the requested scopes prior to submitting. If the form is submitted using a button named Cancel, then the authorization process will terminate with an error return of access_denied.
loginCount is the integer count of which login attempt is taking place.
This method may directly look at the request properties and set properties for GenerateAccessToken using the properties array argument. In addition, any submitted values with name beginning with p_ (i.e. the element name begins with p_) will be copied to the properties.CustomProperties array with the p_ prefix removed from the name.

◆ DisplayPermissions()

_.Library.Status DisplayPermissions ( _.Library.String  authorizationCode,
_.Library.ArrayOfDataTypes  scopeArray,
_.Library.ArrayOfDataTypes  currentScopeArray,
_.OAuth2.Server.Properties  properties 
)
static

DisplayPermissions is responsible for writing out the HTML to display the user accept permissions form.


The accept permissions form should display the already obtained scopes in display format based on currentScopeArray.
The accept permissions form should display the requested scopes in display format based on scopeArray.
The Authorization code hidden field is inserted by DisplayPermissions using the InsertHiddenField method of CSP.Page. The form should be submitted using a button named "Accept". If the form is submitted using a button named Cancel, then the authorization process will terminate with an error return of access_denied.
This method may directly look at the request properties and set properties for GenerateAccessToken using the properties array argument. In addition, any submitted values with name beginning with p_ (i.e. the element name begins with p_) will be copied to the properties.CustomProperties array with the p_ prefix removed from the name.

◆ GetLanguageList()

_.Library.List GetLanguageList ( )
static

The GetLanguageList method returns a comma separated list of the languages that are supported.

for the message domain used for this class. This language list is returned as the ui_locales server metadata property.

Member Data Documentation

◆ DOMAIN

DOMAIN = None
static

OAuth2.Server.Authenticate acts as the subclass for all user written Authenticate classes as well as being the default Authenticate class.

The Authenticate class is used by Authorization Endpoint at OAuth2.Server.Auth to authenticate the user. This class allows the customization of the authentication process.
The following methods may be implemented to override the default in OAuth2.Server: DirectLogin, DisplayLogin and DisplayPermissions.
The scope argument to all of these methods is a ArrayOfDatatypes where the keys are scope values and the values are the display form of the scope value.

The CSS style is defined in DrawStyle.
loginForm is for DisplayLogin
permissionForm is for DisplayPermissions
Customer can modify these CSS to tailor desired look and feel.

Login page localization domain