Difference between revisions of "TAuthenticator"

From Ultibo.org
Jump to: navigation, search
 
Line 18: Line 18:
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: The base authenticator class, not intended to be used directly.
 +
|-
 +
|colspan="2"|&nbsp;
 
|-
 
|-
 
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
Line 32: Line 36:
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
|colspan="2"|&nbsp;  
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 +
|-
 +
| <code>FMode:LongWord;</code>
 +
| &nbsp;
 
|-
 
|-
 
| <code>FFlags:LongWord;</code>
 
| <code>FFlags:LongWord;</code>
Line 39: Line 46:
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>procedure SetFlags(AFlags:LongWord);</code>
+
| <code>FPasswordPrompt:String;</code>
 +
| The text prompt for password only entry (Default: 'Password: ')
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FOnCheckPassword:TCheckPasswordEvent;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FUsernamePrompt:String;</code>
 +
| The text prompt for username entry (Default: 'Username: ')
 +
|-
 +
| <code>FUserPasswordPrompt:String;</code>
 +
| The text prompt for user password entry (Default: 'Password: ')
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FCaseSensitiveUsername:Boolean;</code>
 +
| True if usernames should be compared case sensitively (Default: False)
 +
|-
 +
| <code>FCaseSensitivePassword:Boolean;</code>
 +
| True if passwords should be compared case sensitively (Default: True)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FOnCheckUsername:TCheckUsernameEvent;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FOnCheckUserPassword:TCheckUserPasswordEvent;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FTokenName:String;</code>
 +
| The parameter name to use for the token in URLs (Default: 'token')
 +
|-
 +
| <code>FCookieName:String;</code>
 +
| The cookie name to use for the token (Default: 'sessionid')
 +
|-
 +
| <code>FUseCookie:Boolean;</code>
 +
| True if cookies should be used for token exchange (eg HTTP cookies) or False otherwise, protocol dependent (Default: True)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FTokenTimeout:LongWord;</code>
 +
| Timeout value in seconds for token expiry (Default: INFINITE)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FReturnURLName:String;</code>
 +
| The parameter name to use for the return URL in request URLs (Default: 'returnurl')
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FAuthenticateURL:String;</code>
 +
| The URL to redirect to for authentication (Default: <None>)
 +
|-
 +
| <code>FDeauthenticateURL:String;</code>
 +
| The URL to redirect to after deauthentication (Default: <None>)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FOnCheckToken:FCheckTokenEvent;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FOnCreateToken:TCreateTokenEvent;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FOnDeleteToken:TDeleteTokenEvent;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FOnCheckKey:TCheckKeyEvent;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 
|-
 
|-
 
| <code>function AcquireLock:Boolean;</code>
 
| <code>function AcquireLock:Boolean;</code>
Line 48: Line 131:
 
|-
 
|-
 
| <code>function ReleaseLock:Boolean;</code>
 
| <code>function ReleaseLock:Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>procedure SetMode(AMode:LongWord); virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetFlags(AFlags:LongWord); virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function FixUsername(const AUsername:String):String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function FixPassword(const APassword:String):String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function GetPasswordPrompt:String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetPasswordPrompt(const APrompt:String); virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function GetUsernamePrompt:String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetUsernamePrompt(const APrompt:String); virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function GetUserPasswordPrompt(const AUsername:String):String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetUserPasswordPrompt(const AUsername,APrompt:String); virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function GetTokenName:String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetTokenName(const AName:String); virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function GetCookieName:String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetCookieName(const AName:String); virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function GetReturnURLName:String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetReturnURLName(const AName:String); virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function GetAuthenticateURL:String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetAuthenticateURL(const AURL:String); virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function GetDeauthenticateURL:String; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetDeauthenticateURL(const AURL:String); virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
 
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>property Mode:LongWord read FMode write SetMode;</code>
 +
| &nbsp;
 
|-
 
|-
 
| <code>property Flags:LongWord read FFlags write SetFlags;</code>
 
| <code>property Flags:LongWord read FFlags write SetFlags;</code>
Line 57: Line 217:
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function UsernamePrompt:String; virtual;</code>
+
| <code>property PasswordPrompt:String read GetPasswordPrompt write SetPasswordPrompt;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function PasswordPrompt(const AUsername:String):String; virtual;</code>
+
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property OnCheckPassword:TCheckPasswordEvent read FOnCheckPassword write FOnCheckPassword;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property UsernamePrompt:String read GetUsernamePrompt write SetUsernamePrompt;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property UserPasswordPrompt[const Username:String]:String read GetUserPasswordPrompt write SetUserPasswordPrompt;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property CaseSensitiveUsername:Boolean read FCaseSensitiveUsername write FCaseSensitiveUsername;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property CaseSensitivePassword:Boolean read FCaseSensitivePassword write FCaseSensitivePassword;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property OnCheckUsername:TCheckUsernameEvent read FOnCheckUsername write FOnCheckUsername;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property OnCheckUserPassword:TCheckUserPasswordEvent read FOnCheckUserPassword write FOnCheckUserPassword;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property TokenName:String read GetTokenName write SetTokenName;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property CookieName:String read GetCookieName write SetCookieName;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property UseCookie:Boolean read FUseCookie write FUseCookie;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property TokenTimeout:LongWord read FTokenTimeout write FTokenTimeout;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property ReturnURLName:String read GetReturnURLName write SetReturnURLName;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property AuthenticateURL:String read GetAuthenticateURL write SetAuthenticateURL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property DeauthenticateURL:String read GetDeauthenticateURL write SetDeauthenticateURL;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property OnCheckToken:FCheckTokenEvent read FOnCheckToken write FOnCheckToken;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property OnCreateToken:TCreateTokenEvent read FOnCreateToken write FOnCreateToken;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property OnDeleteToken:TDeleteTokenEvent read FOnDeleteToken write FOnDeleteToken;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property OnCheckKey:TCheckKeyEvent read FOnCheckKey write FOnCheckKey;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function CheckPassword(const APassword:String):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function AddPassword(const APassword:String):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DeletePassword(const APassword:String):LongWord; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 68: Line 314:
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function CheckPassword(const AUsername,APassword:String):LongWord; virtual;</code>
+
| <code>function CheckUserPassword(const AUsername,APassword:String):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function AddUsername(const AUsername,APassword:String):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DeleteUsername(const AUsername,APassword:String):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function CheckToken(const AToken,AValue:String):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function CreateToken(const AValue:String; var AToken:String; ATimeout:LongWord):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DeleteToken(const AToken,AValue:String):LongWord; virtual;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function CheckKey(AData:Pointer; ASize:LongWord):LongWord; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 93: Line 363:
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">destructor TAuthenticator.Destroy;</pre>
 
<pre style="border: 0; padding-bottom:0px;">destructor TAuthenticator.Destroy;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.AcquireLock:Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.ReleaseLock:Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetMode(AMode:LongWord);</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 116: Line 422:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.AcquireLock:Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.FixUsername(const AUsername:String):String;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 128: Line 434:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.ReleaseLock:Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.FixPassword(const APassword:String):String;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 140: Line 446:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.UsernamePrompt:String;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetPasswordPrompt:String;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 152: Line 458:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.PasswordPrompt(const AUsername:String):String;</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetPasswordPrompt(const APrompt:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetUsernamePrompt:String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetUsernamePrompt(const APrompt:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetUserPasswordPrompt(const AUsername:String):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetUserPasswordPrompt(const AUsername,APrompt:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetTokenName:String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetTokenName(const AName:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetCookieName:String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetCookieName(const AName:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetReturnURLName:String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetReturnURLName(const AName:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetAuthenticateURL:String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetAuthenticateURL(const AURL:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.GetDeauthenticateURL:String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TAuthenticator.SetDeauthenticateURL(const AURL:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.CheckPassword(const APassword:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.AddPassword(const APassword:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.DeletePassword(const APassword:String):LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 176: Line 686:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.CheckPassword(const AUsername,APassword:String):LongWord;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.CheckUserPassword(const AUsername,APassword:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.AddUsername(const AUsername,APassword:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.DeleteUsername(const AUsername,APassword:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.CheckToken(const AToken,AValue:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.CreateToken(const AValue:String; var AToken:String; ATimeout:LongWord):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.DeleteToken(const AToken,AValue:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TAuthenticator.CheckKey(AData:Pointer; ASize:LongWord):LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">

Latest revision as of 04:49, 23 October 2025

Return to Unit Authentication


Description


To be documented

Class definitions



TAuthenticator = class(TObject)

Note: The base authenticator class, not intended to be used directly.
 
public
constructor Create;  
destructor Destroy; override;  
private
FLock:TCriticalSectionHandle;  
protected
FMode:LongWord;  
FFlags:LongWord;  
 
FPasswordPrompt:String; The text prompt for password only entry (Default: 'Password: ')
 
FOnCheckPassword:TCheckPasswordEvent;  
 
FUsernamePrompt:String; The text prompt for username entry (Default: 'Username: ')
FUserPasswordPrompt:String; The text prompt for user password entry (Default: 'Password: ')
 
FCaseSensitiveUsername:Boolean; True if usernames should be compared case sensitively (Default: False)
FCaseSensitivePassword:Boolean; True if passwords should be compared case sensitively (Default: True)
 
FOnCheckUsername:TCheckUsernameEvent;  
FOnCheckUserPassword:TCheckUserPasswordEvent;  
 
FTokenName:String; The parameter name to use for the token in URLs (Default: 'token')
FCookieName:String; The cookie name to use for the token (Default: 'sessionid')
FUseCookie:Boolean; True if cookies should be used for token exchange (eg HTTP cookies) or False otherwise, protocol dependent (Default: True)
 
FTokenTimeout:LongWord; Timeout value in seconds for token expiry (Default: INFINITE)
 
FReturnURLName:String; The parameter name to use for the return URL in request URLs (Default: 'returnurl')
 
FAuthenticateURL:String; The URL to redirect to for authentication (Default: <None>)
FDeauthenticateURL:String; The URL to redirect to after deauthentication (Default: <None>)
 
FOnCheckToken:FCheckTokenEvent;  
 
FOnCreateToken:TCreateTokenEvent;  
FOnDeleteToken:TDeleteTokenEvent;  
 
FOnCheckKey:TCheckKeyEvent;  
 
function AcquireLock:Boolean;  
function ReleaseLock:Boolean;  
 
procedure SetMode(AMode:LongWord); virtual;  
procedure SetFlags(AFlags:LongWord); virtual;  
 
function FixUsername(const AUsername:String):String; virtual;  
function FixPassword(const APassword:String):String; virtual;  
 
function GetPasswordPrompt:String; virtual;  
procedure SetPasswordPrompt(const APrompt:String); virtual;  
 
function GetUsernamePrompt:String; virtual;  
procedure SetUsernamePrompt(const APrompt:String); virtual;  
function GetUserPasswordPrompt(const AUsername:String):String; virtual;  
procedure SetUserPasswordPrompt(const AUsername,APrompt:String); virtual;  
 
function GetTokenName:String; virtual;  
procedure SetTokenName(const AName:String); virtual;  
function GetCookieName:String; virtual;  
procedure SetCookieName(const AName:String); virtual;  
 
function GetReturnURLName:String; virtual;  
procedure SetReturnURLName(const AName:String); virtual;  
 
function GetAuthenticateURL:String; virtual;  
procedure SetAuthenticateURL(const AURL:String); virtual;  
function GetDeauthenticateURL:String; virtual;  
procedure SetDeauthenticateURL(const AURL:String); virtual;  
public
property Mode:LongWord read FMode write SetMode;  
property Flags:LongWord read FFlags write SetFlags;  
 
property PasswordPrompt:String read GetPasswordPrompt write SetPasswordPrompt;  
 
property OnCheckPassword:TCheckPasswordEvent read FOnCheckPassword write FOnCheckPassword;  
 
property UsernamePrompt:String read GetUsernamePrompt write SetUsernamePrompt;  
property UserPasswordPrompt[const Username:String]:String read GetUserPasswordPrompt write SetUserPasswordPrompt;  
 
property CaseSensitiveUsername:Boolean read FCaseSensitiveUsername write FCaseSensitiveUsername;  
property CaseSensitivePassword:Boolean read FCaseSensitivePassword write FCaseSensitivePassword;  
 
property OnCheckUsername:TCheckUsernameEvent read FOnCheckUsername write FOnCheckUsername;  
property OnCheckUserPassword:TCheckUserPasswordEvent read FOnCheckUserPassword write FOnCheckUserPassword;  
 
property TokenName:String read GetTokenName write SetTokenName;  
property CookieName:String read GetCookieName write SetCookieName;  
property UseCookie:Boolean read FUseCookie write FUseCookie;  
 
property TokenTimeout:LongWord read FTokenTimeout write FTokenTimeout;  
 
property ReturnURLName:String read GetReturnURLName write SetReturnURLName;  
 
property AuthenticateURL:String read GetAuthenticateURL write SetAuthenticateURL;  
property DeauthenticateURL:String read GetDeauthenticateURL write SetDeauthenticateURL;  
 
property OnCheckToken:FCheckTokenEvent read FOnCheckToken write FOnCheckToken;  
 
property OnCreateToken:TCreateTokenEvent read FOnCreateToken write FOnCreateToken;  
property OnDeleteToken:TDeleteTokenEvent read FOnDeleteToken write FOnDeleteToken;  
 
property OnCheckKey:TCheckKeyEvent read FOnCheckKey write FOnCheckKey;  
 
function CheckPassword(const APassword:String):LongWord; virtual;  
 
function AddPassword(const APassword:String):LongWord; virtual;  
function DeletePassword(const APassword:String):LongWord; virtual;  
 
function CheckUsername(const AUsername:String):LongWord; virtual;  
function CheckUserPassword(const AUsername,APassword:String):LongWord; virtual;  
function AddUsername(const AUsername,APassword:String):LongWord; virtual;  
function DeleteUsername(const AUsername,APassword:String):LongWord; virtual;  
 
function CheckToken(const AToken,AValue:String):LongWord; virtual;  
 
function CreateToken(const AValue:String; var AToken:String; ATimeout:LongWord):LongWord; virtual;  
function DeleteToken(const AToken,AValue:String):LongWord; virtual;  
 
function CheckKey(AData:Pointer; ASize:LongWord):LongWord; virtual;  


Function declarations



constructor TAuthenticator.Create;
Description: To be documented
Note None documented


destructor TAuthenticator.Destroy;
Description: To be documented
Note None documented


function TAuthenticator.AcquireLock:Boolean;
Description: To be documented
Note None documented


function TAuthenticator.ReleaseLock:Boolean;
Description: To be documented
Note None documented


procedure TAuthenticator.SetMode(AMode:LongWord);
Description: To be documented
Note None documented


procedure TAuthenticator.SetFlags(AFlags:LongWord);
Description: To be documented
Note None documented


function TAuthenticator.FixUsername(const AUsername:String):String;
Description: To be documented
Note None documented


function TAuthenticator.FixPassword(const APassword:String):String;
Description: To be documented
Note None documented


function TAuthenticator.GetPasswordPrompt:String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetPasswordPrompt(const APrompt:String);
Description: To be documented
Note None documented


function TAuthenticator.GetUsernamePrompt:String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetUsernamePrompt(const APrompt:String);
Description: To be documented
Note None documented


function TAuthenticator.GetUserPasswordPrompt(const AUsername:String):String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetUserPasswordPrompt(const AUsername,APrompt:String);
Description: To be documented
Note None documented


function TAuthenticator.GetTokenName:String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetTokenName(const AName:String);
Description: To be documented
Note None documented


function TAuthenticator.GetCookieName:String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetCookieName(const AName:String);
Description: To be documented
Note None documented


function TAuthenticator.GetReturnURLName:String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetReturnURLName(const AName:String);
Description: To be documented
Note None documented


function TAuthenticator.GetAuthenticateURL:String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetAuthenticateURL(const AURL:String);
Description: To be documented
Note None documented


function TAuthenticator.GetDeauthenticateURL:String;
Description: To be documented
Note None documented


procedure TAuthenticator.SetDeauthenticateURL(const AURL:String);
Description: To be documented
Note None documented


function TAuthenticator.CheckPassword(const APassword:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.AddPassword(const APassword:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.DeletePassword(const APassword:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.CheckUsername(const AUsername:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.CheckUserPassword(const AUsername,APassword:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.AddUsername(const AUsername,APassword:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.DeleteUsername(const AUsername,APassword:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.CheckToken(const AToken,AValue:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.CreateToken(const AValue:String; var AToken:String; ATimeout:LongWord):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.DeleteToken(const AToken,AValue:String):LongWord;
Description: To be documented
Note None documented


function TAuthenticator.CheckKey(AData:Pointer; ASize:LongWord):LongWord;
Description: To be documented
Note None documented


Return to Unit Reference