Winsoft Authentication for MacOS v1.1 for Delphi 10.3 - 10.4 Full Source
Winsoft Authentication for MacOS v1.1 for Delphi 10.3 - 10.4 Full Source
Delphi authentication library for macOS.
Uses LocalAuthentication framework
Available for Delphi 10.3 - 10.4
Source code included in registered version
Royalty free distribution in applications
type
TAuthenticationPolicy = (apAny, apBiometric);
TBiometryType = (btTouch, btFace);
TBiometryTypes = set of TBiometryType;
TAuthenticationerrorCode = (ecUnknown,
ecAppCancel, ecUserCancel, ecSystemCancel,
ecBiometryLockout, ecBiometryNotAvailable, ecBiometryNotEnrolled,
ecAuthenticationFailed, ecInvalidContext, ecNotInteractive,
ecPasscodeNotSet, ecUserFallback);
TAuthenticationerror = record
property Code: LongInt read;
property Domain: string read;
property Error: NSError read;
property ErrorCode: TAuthenticationerrorCode read;
property IsError: Boolean read;
property LocalizedDescription: string read;
end;
EAuthenticationerror = class(Exception)
property Error: TAuthenticationerror read;
end;
TAuthenticationerrorEvent = procedure(Sender: TObject; Error: TAuthenticationerror) of object;
TAuthentication = class
constructor Create;
function CanEvaluatePolicy(out Error: TAuthenticationerror): Boolean;
procedure EvaluatePolicy(const Reason: string);
procedure Invalidate;
property BiometricUnlockReuse: Double read write; // in seconds
property CancelTitle: string read write;
property Context: LAContext read;
property FallbackTitle: string read write;
property InteractionAllowed: Boolean read write;
property MaxBiometricUnlockReuse: Double read; // in seconds
property Policy: TAuthenticationPolicy read write default apAny;
property SupportedBiometry: TBiometryTypes read;
property OnSuccess: TNotifyEvent read write;
property onerror: TAuthenticationerrorEvent read write;
end;
TAuthenticationPolicy = (apAny, apBiometric);
TBiometryType = (btTouch, btFace);
TBiometryTypes = set of TBiometryType;
TAuthenticationerrorCode = (ecUnknown,
ecAppCancel, ecUserCancel, ecSystemCancel,
ecBiometryLockout, ecBiometryNotAvailable, ecBiometryNotEnrolled,
ecAuthenticationFailed, ecInvalidContext, ecNotInteractive,
ecPasscodeNotSet, ecUserFallback);
TAuthenticationerror = record
property Code: LongInt read;
property Domain: string read;
property Error: NSError read;
property ErrorCode: TAuthenticationerrorCode read;
property IsError: Boolean read;
property LocalizedDescription: string read;
end;
EAuthenticationerror = class(Exception)
property Error: TAuthenticationerror read;
end;
TAuthenticationerrorEvent = procedure(Sender: TObject; Error: TAuthenticationerror) of object;
TAuthentication = class
constructor Create;
function CanEvaluatePolicy(out Error: TAuthenticationerror): Boolean;
procedure EvaluatePolicy(const Reason: string);
procedure Invalidate;
property BiometricUnlockReuse: Double read write; // in seconds
property CancelTitle: string read write;
property Context: LAContext read;
property FallbackTitle: string read write;
property InteractionAllowed: Boolean read write;
property MaxBiometricUnlockReuse: Double read; // in seconds
property Policy: TAuthenticationPolicy read write default apAny;
property SupportedBiometry: TBiometryTypes read;
property OnSuccess: TNotifyEvent read write;
property onerror: TAuthenticationerrorEvent read write;
end;
Only for V.I.P
Warning! You are not allowed to view this text.