A class which is used to describe user login details must implement the AuthenticationKit.User interface. This interface only provides access to details, but does not allow editing of details. An editable user class should implement AuthenticationKit.MutableUser instead.
Function Algorithm () As Xojo.Crypto.HashAlgorithms
Return the hash algorithm used. Only SHA-1, SHA-256, and SHA-512 algorithms are acceptable values.
Function Iterations () As UInteger
Return the number of PBKDF2 repeats used to generate hashes.
Function LoginKey () As Text
Return the user's login key. It is recommended that the login key not the user's email address or visible to other users at all. An ideal user class will have a login key which is private, and a user name which is public. However, this is by no means a requirement. The returned value should be what the user uses to sign in with.
Function PasswordSalt () As Xojo.Core.MemoryBlock
Xojo.Core.MemoryBlock of the bytes used as the password's salt.
Function SecondFactorSalt () As Xojo.Core.MemoryBlock
Xojo.Core.MemoryBlock of the bytes used as the two factor authentication token's salt.
Function TwoFactorEnabled () As Boolean
True if two factor authentication is enabled.
Function UserID () As Auto
Return a unique identifier for the user. This may be a uuid, an integer id, the user's username.... whatever immutable value is used to uniquely identify a user.
Function ValidationHash () As Xojo.Core.MemoryBlock
Return the validation hash provided to the AuthenticationKit.MutableUser.SetSecurityDetails method.