AuthenticationKit.Validator
This interface must be implemented by the storage system, which is usually a database connection.
Interface Methods
Function LookupSalt (Hash As Xojo.Core.MemoryBlock) As Xojo.Core.MemoryBlock
The implementor should find the salt from the passwords table matching the provided Hash. Return Nil if Hash cannot be found.
Function LookupUser (LoginKey As Text) As AuthenticationKit.User
The implementor should lookup the user details for the given LoginKey and return an AuthenticationKit.User object. Return Nil if LoginKey cannot be found.
Function Save (Users() As AuthenticationKit.User, Tokens() As AuthenticationKit.Token) As Boolean
The implementor should save all the provided Users and Tokens. Return True if everything saved correctly.
Extension Methods
These methods are supplied by the AuthenticationKit module automatically to all implementors of the interface.
Function AddBogusTokens (Extends Validator As AuthenticationKit.Validator, NumRecords As UInteger, ByteCount As UInteger) As Boolean
Add NumRecords bogus records consisting of ByteCount bytes. This is useful for seeding a validator with excess records which match no user.
Function Save (Extends Validator As AuthenticationKit.Validator, Tokens() As AuthenticationKit.Token) As Boolean
An alias of the Save method which accepts only an array of Tokens.
Function Save (Extends Validator As AuthenticationKit.Validator, User As AuthenticationKit.User, Tokens() As AuthenticationKit.Token) As Boolean
An alias of the Save method which accepts a single User and an array of Tokens.
Function ValidatePassword (Extends Validator As AuthenticationKit.Validator, User As AuthenticationKit.User, Password As Text, ByRef Generator As AuthenticationKit.TwoFactorProfile) As Boolean
Test Password against User. Returns True if the password matches. Generator is a ByRef reference to a AuthenticationKit.TwoFactorProfile that will be set to valid instance if the user has two factor authentication enabled, or set to nil if not enabled.